为了账号安全,请及时绑定邮箱和手机立即绑定

如下,不知道他为什么要加这个Matrix();?何解?

如下,不知道他为什么要加这个Matrix();?何解?

暮色呼如 2022-07-08 11:07:49
#include <iostream.h>//using namespace std;class Matrix{public:Matrix();friend Matrix operator+(Matrix &,Matrix &);friend ostream& operator<<(ostream&,Matrix&);friend istream& operator>>(istream&,Matrix&);private:int mat[2][3];};Matrix::Matrix(){for(int i=0;i<2;i++)for(int j=0;j<3;j++)mat[i][j]=0;}Matrix operator+(Matrix &a,Matrix &b){Matrix c;for(int i=0;i<2;i++)for(int j=0;j<3;j++){c.mat[i][j]=a.mat[i][j]+b.mat[i][j];}return c;}
查看完整描述

3 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

如果不加这个构造函数,mat数组里的值是不会自动赋值成0的,如果创建对象后不mat不初始化为0也行的话,去掉也无妨。编译器会自动生成一个默认构造函数给你

查看完整回答
反对 回复 2022-07-11
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

Matrix(); 这是个构造函数的声明,用来初始化类的成员变量。

查看完整回答
反对 回复 2022-07-11
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

作用就是初始化数组,你也可以这样来
private:
int mat[2][3]={0};

查看完整回答
反对 回复 2022-07-11
  • 3 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信