信管14:运算符重载作业7-9示例

#include<iostream>  
#include<iomanip>
using namespace std;
const int row=3; 
const int col=3;

class array {  
   public:
        array();                      //构造函数
   array(int a,int b,int c,int d,int e,int f,int g,int h,int i);
        void get_array( );            //输入数组的值
        void display();               //显示数组的值
        array operator+(array &X);    //两数组相加
        array operator-(array &X);    //两数组相减
  private:
       int var[row][col];
}; 


array::array()
{ for(int i=0; i<row; i++)
        for(int j=0;j<col; j++)
          var[i][j]=0;  
}

array::array(int a,int b,int c,int d,int e,int f,int g,int h,int i)
{                                 //由构造函数设置数组的值
 var[0][0]=a; 
 var[0][1]=b; 
 var[0][2]=c;
 var[1][0]=d; 
 var[1][1]=e; 
 var[1][2]=f;
 var[2][0]=g; 
 var[2][1]=h; 
 var[2][2]=i;
}
void  array::get_array( )        //由键盘输入数组的值
{ cout<<"Please input 3*3 dimension data:"<<endl;
 for (int i=0; i<row; i++)
   for (int j=0;j<col; j++)
     cin>>var[i][j];  
}


void  array::display()          //显示数组的值
{ for (int i=0; i<row;i++)
  { for (int j=0;j<col;j++ )
      cout<<setw(5)<< var[i][j];
    cout<<endl;  
       }
}
array  array::operator+(array &X)    //将两个数组相加
{ array temp;
       for (int i=0;i<row; i++)
         for(int j=0;j<col;j++)
           temp.var[i][j]=var[i][j]+X.var[i][j];
       return temp;
}
array  array::operator-(array &X)    //将两个数组相减
{ array temp;
 for (int i=0; i<row; i++)
   for (int j=0; j<col; j++ )
   temp.var[i][j]=var[i][j]-X.var[i][j];
 return temp ;
 }
int main()
{ array X(1,2,3,4,5,6,7,8,9);
  array Y,Z;
  Y.get_array();
  cout<<"Display object X"<<endl;  
  X.display();
  cout<<"Display object Y"<<endl;  
  Y.display();
  Z=X+Y;
  cout<<" Display object Z=X+Y"<<endl;
  Z.display();
  Z=X-Y;
  cout<<" Display object Z=X-Y"<<endl; 
  Z.display(); 
  system("pause");
  return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值