矩阵加减【运算符重载】【类模板】

类模板的初级应用

#include

using namespace std;


template//类模板
class Matrix
{
private:
T a[100][100];
int wide,length;
public:
Matrix(int w,int l)//构造函数
{
this->wide=w;
this->length=l;
for(int i=0;i {
for(int j=0;j {
a[i][j]=0;
}
}
}
void set()//输入数组元素
{
for(int i=0;iwide;i++)
for(int j=0;jlength;j++)
cin>>a[i][j];
}
void output()//输出数组
{
for(int i=0;iwide;i++)
{
for(int j=0;jlength;j++)
cout< cout< }
}
Matrix operator+(Matrix & m)
{
Matrix M1(this->wide,this->length);
for(int i=0;iwide;i++)
{
for(int j=0;jlength;j++)
M1.a[i][j]=a[i][j]+m.a[i][j];
}
return M1;
}
Matrix operator-(Matrix & m)
{
Matrix M2(this->wide,this->length);
for(int i=0;iwide;i++)
{
for(int j=0;jlength;j++)
M2.a[i][j]=a[i][j]-m.a[i][j];
}
return M2;
}//重载”-”号
};//重载“+”号
int main()//主函数
{
int w,l;
cout<<"请输入你的矩阵大小(长,宽):";
cin>>w>>l;
Matrix m1(w,l),m2(w,l),m3(w,l);
cout<<"请输入第一个矩阵:"< m1.set();
cout<<"请输入第二个矩阵:"< m2.set();
m3=m1+m2;
cout<<"两矩阵相加结果:"< m3.output();
m3=m1-m2;
cout<<"两矩阵相减结果:"<     m3.output();
return 0;
}

你可能感兴趣的:(矩阵加减【运算符重载】【类模板】)