#include<iostream>
#include<iomanip>
using namespace std;
class Matrix{
private:
int var[2][4];
public:
Matrix(); //构造函数
friend Matrix operator+(Matrix& a, Matrix& b); //加法友元函数
friend ostream& operator<<(ostream&, Matrix&); //声明运算符“<<”重载为友元函数
friend istream& operator>>(istream&, Matrix&); //声明运算符“>>”重载为友元函数
};
Matrix::Matrix()
{
for (int i=0;i<2;i++)
for (int j = 0; j < 4; j++)
var[i][j] = 0;
}
Matrix operator+(Matrix &k, Matrix& p) //加法函数
{
Matrix temp;
for (int i = 0; i < 2;i++)
for (int j = 0; j < 4; j++)
temp.var[i][j] = k.var[i][j] + p.var[i][j];
return temp;
}
ostream& operator<<(ostream& out, Matrix& com) //定义运算符“<<”重载函数
{
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 4; j++)
out <<setw(5)<< com.var[i][j];
out << endl;
}
out << endl;
return out;
}
istream& operator>>(istream& in, Matrix& com) //定义运算符“>>”重载函数
{
cout << "please input 8 numbers:";
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 4; j++)
in>>com.var[i][j];
}
return in;
}
int main()
{
Matrix a, b,c;
cin >> a;
cin >> b;
cout << "Matrix a is:" << endl;
cout << a;
cout << "Matrix b is:" << endl;
cout << b;
c = a + b;
cout << "Matrix a+b is:" << endl;
cout << c;
system("pause");
return 0;
}
7.12流插入运算符“<<"和流提取运算符”>>“
最新推荐文章于 2023-09-17 16:59:17 发布