编写一个程序,用成员函数重载运算符“+”和“—”将两个二维数组相加和相减,要求第1个二维数组的值由构造函数设置,另一个二维数组的值由键盘输入。
#include<iostream>
using namespace std;
class Matrix
{
publice:
Matrix();
Matrix(int a[2][3]);
Matrix operator+(int b[2][3]);
Matrix operator-(int b[2][3]);
void show();
private:
int p[2][3];
};
Matrix::Matrix()
{
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
p[i][j]=0;
}
Matrix::Matrix()
{
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
p[i][j]=a[i][j];
}
Matrix Matrix:: operator+(int b[2][3])
{
Matrix a;
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
a.p[i][j]=p[i][j]+b[i][j];
return a;
}
Matrix Matrix:: operator-(int b[2][3]);
{
Matrix c;
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
c.p[i][j]=p[i][j]+b[i][j];
return c;
}
void Matrix::show()
{
for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
cout<<p[i][j]<<end;
}
}
}
void main()
{
cout<<"析构函数中的二维数组:"<<endl;
int s[2][3]={{1,2,3},{4,5,6}};
for(int m=0;m<2;m++)
{
for(int n=0;n<3;n++)
{
cout<<s[m][n]<<endl;
}
}
cout<<"输入二维数组:"<<endl;
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]<<endl;
}
}
Matrix d(s);
Matrix aa;
aa=d+x;
cout<<"两个二维数组之和为:"<<endl;
aa.show();
}