【问题描述】有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载流插入运算符“<<”和流提取运算符“>>”,使之能用该矩阵的输入和输出。
【输入形式】input value of matrix:11 22 33 44 55 66
input value of matrix:12 13 14 15 16 17
【输出形式】Matirx a:
11 22 33
44 55 66
Matrix b:
12 13 14
15 16 17
Matrix c=Matrix a+Matrix b
23 35 47
59 71 83
//矩阵求和(2) #include#include using namespace std; class Array { public: Array(); friend Array operator+(Array a1,Array a2);//破坏封装性 friend istream & operator >>(istream &input,Array &c1); friend ostream & operator <<(ostream &output,Array &c1); private: int arr[2][3]; }; Array::Array()//初始化矩阵为零矩阵 { int i, j; for (i=0; i<2; i++) for (j=0; j<3;j++) arr[i][j]=0; } Array operator+(Array a1, Array a2)//重载运算符+ { Array a3; int i, j; for (i=0; i<2; i++) for (j=0; j<3; j++) a3.arr[i][j]=a1.arr[i][j]+a2.arr[i][j]; return a3; } istream & operator >>(istream &input,Array &c1)//重载运算符>> { int i,j; for(i=0;i<2;i++) for(j=0;j<3;j++) input>>c1.arr[i][j]; return input; } ostream & operator <<(ostream &output,Array &c1)//重载运算符<< { output< >a; cout<>b; cout< 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)