个人答案:
#include#include using namespace std; class Array { public: Array(); friend Array operator+(Array a1, Array a2); //重载运算符输入输出 friend istream& operator>>(istream&, Array&); friend ostream& operator<<(ostream&, Array&); private: int arr[2][3]; }; //构造矩阵 Array::Array() { int i, j; for (i = 0; i < 2; i++) for (j = 0; j < 3; arr[i][j++] = 0); } //计算式 Array operator+(Array a1, Array a2) { Array a3; for (int i = 0; i < 2; i++) for (int j = 0; j < 3; j++) a3.arr[i][j] = a1.arr[i][j] + a2.arr[i][j]; return a3; } //输入 istream& operator>>(istream& input, Array& a) { int i, j; cout << "请输入矩阵: "; for (i = 0; i < 2; i++) for (j = 0; j < 3; j++) input >> a.arr[i][j]; return input; } //输出 ostream& operator<<(ostream& output, Array& a) { int i, j; for (i = 0; i < 2; output << endl, i++) for (j = 0; j < 3; output << setw(4) << a.arr[i][j], j++); return output; } int main() { Array a, b, c; cin >> a; cin >> b; c = a + b; cout << c; system("pause"); return 0; }
结果:



