【7.9】编一个程序,用成员函数重载运算符“+”和“-”,将两个矩阵(这两个矩阵均为2行3列)相加和相减,要求第一个矩阵的值由构造函数设置,另一个矩阵的值由键盘输入。
#include<iostream>
using namespace std;
class Matrix
{
public:
Matrix();//构造一个默认构造函数,设置初值
Matrix(int a[2][3]);//设置数组的构造函数
Maritx operator+(int b[2][3]);//运算符+重载成员函数
Matrix operator-(int b[2][3]);//运算符-重载成员函数
void show();//输出数组
private:
innt p[2][3];//数组
};
Maritx::Maritx()
{
for(int i=0;i<2:i++)
for(int j=0;j<3;j++)
p[i][j]=0;
}
Maritx::Maritx(int a[2][3])
{
for(int i=0;i<2;i++)
for(intj=0;j<3;j++)
p[i][j]=a[i][j];
}
Maritx::Maritx:;operator+(int b[2][3])
{
Maritx a;
for(int i=0;i<2;i++)
for(intj=0;j<3;j++)
a.p[i][j]=p[i][j]+b[i][j];
return a;
}
Maritx::Maritx:;operator-(int b[2][3])
{
Maritx c;
for(int i=0;i<2;i++)
for(intj=0;j<3;j++)
c.p[i][j]=p[i][j]-b[i][j];
return c;
}
void Maritx::show()
{
for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
cout<<p[i][j]<<"\t";
}
cout<<endl;
}
}
void main()
{
cout<,"析构函数中的二维数组:"<<endl;//从电脑敲入二维数组
int s[2][3]={(1,2,3),(4,5,6)};
for(int m=0;m<2;m++)
{
for(int m=0;m<2;m++)
{
for(int n=0;n<3;n++)
{
cout<<s[m][n]<<"\t";
}
cout<<endl;
}
cout<<"输入的二维数组:\n";//从键盘敲入二维数组
int x[2][3],i.j.y;
for(i=0;i<2;i++)
for(j=0;j<3;j+=)
{
cin>>y;
x[i][j]=y;
}
cout<<"从键盘敲入的二维数组为:"<<endl;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
cout<<x[i][j]<<"\t";
}
Maritx d(s);
Maritx aa;
aa=d+x;
cout<<"两个二维数组之和为:"<<endl;
aa.show();
}