个人答案:
#include <iostream>
#include <iomanip>
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;
}
结果: