有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加,如:c=a+b,重载流插入运算符<< 和流提取运算符>>,使之能用于矩阵的输入输出。

 

  1. #include<iostream>  
  2. using namespace std;  
  3. class Arrary  
  4. {  
  5. public:  
  6.     Arrary();  
  7.    
  8.       
  9.     int a[2][3];  
  10.       
  11. };  
  12.  
  13. Arrary::Arrary()  
  14. {  
  15.         int i,j;  
  16.     for(i=0;i<2;i++)  
  17.         for(j=0;j<3;j++)  
  18.         a[i][j]=0;  
  19.           
  20. }  
  21. istream & operator >>(istream &input,Arrary &c1)  
  22. {  
  23.       
  24.     cout<<"请输入数组:";  
  25.           int i,j;  
  26.     for(i=0;i<2;i++)  
  27.         for(j=0;j<3;j++)  
  28.             input>>c1.a[i][j];  
  29.     return input;  
  30. }  
  31.  
  32.  
  33. ostream & operator <<(ostream &output,Arrary &c1)  
  34. {      
  35.       
  36.      
  37.         int i,j;  
  38.     for(i=0;i<2;i++)  
  39.     {   for(j=0;j<3;j++)  
  40.         output<<c1.a[i][j]<<" ";  
  41.         output<<endl;  
  42.     }  
  43.     return output;  
  44. }  
  45. Arrary operator +(Arrary c1,Arrary c2)  
  46. {  
  47.     Arrary c3;  
  48.     int i,j;  
  49.     for(i=0;i<2;i++)  
  50.         for(j=0;j<3;j++)  
  51.         {  
  52.             c3.a[i][j]=c1.a[i][j]+c2.a[i][j];  
  53.         }  
  54.         return c3;  
  55. }  
  56.  
  57.  
  58. int main()  
  59. {  
  60.     
  61.  
  62.     Arrary a,b,c;  
  63.     cin>>a;  
  64.     cin>>b;  
  65.     c=a+b;  
  66.     cout<<c;  
  67.  
  68. }