c++重载运算符矩阵运算

我要求不多,实现以下要求就可以了!矩阵为2*2阶当创建矩阵对象时,把矩阵默认初始化为第一个为1,第二个为0,第三个为0,第四个为1然后重载“+”实现2个矩阵相加//这个我... 我要求不多,实现以下要求就可以了!
矩阵为2*2阶

当创建矩阵对象时,把矩阵默认初始化为第一个为1,第二个为0,第三个为0,第四个为1
然后重载“+”实现2个矩阵相加 //这个我会
然后重载">>"运算符实现输入矩阵各个值
然后重载“<<”运算符实现输出矩阵各个值

那个matrix类中的构造函数应该怎样写,怎样才能初始化矩阵为[(1,0)(0,1)]
然后我又能重新输入矩阵各个值?
注意是一创建matrix类的对象就已经初始化,然后我还可以重新用重载后的 “>>”输入矩阵修改原来的初始值
展开
 我来答
孤松独海
2011-04-12 · TA获得超过1513个赞
知道大有可为答主
回答量:1220
采纳率:0%
帮助的人:488万
展开全部
class matrix
{
private:
int aa[2][2];
public:
void matrix(int a=1,int b=0,int c=0,int d=1)
{
aa[0][0]=a;
aa[0][1]=b;
aa[1][0]=c;
aa[1][1]=d;

}
~matrix();
matrix operator +(const matrix& m);
friend ostream&operator <<(oftream&os,const matrix&m);
friend istream&operator >>(istream&is,const matrix&m);

}
matrix matrix::operator +(const matrix&m)
{
this->aa[0][0]+=m.aa[0][0];
this->aa[0][1]+=m.aa[0][1];
this->aa[1][0]+=m.aa[1][0];
this->aa[1][1]+=m.aa[1][1];
return *this;
}

ostream&operator <<(oftream&os,const matrix&m)
{
os<<m.aa[0][0]<<' '<<m.aa[0][1]<<endl;
os<<m.aa[1][0]<<' '<<m.aa[1][1]<<endl;
return os;
}
istream&operator >>(istream&is,const matrix&m)
{
cin>>m.aa[0][0]>>m.aa[0][1]>>m.aa[1][0]>>m.aa[1][1];
return is;
}

没有验证。
明天威威去旅行
2011-04-12 · TA获得超过136个赞
知道小有建树答主
回答量:318
采纳率:0%
帮助的人:235万
展开全部
构造函数可以缺省。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式