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

#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;
}

暮色呼如
浏览 111回答 3
3回答

繁星淼淼

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

斯蒂芬大帝

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

一只名叫tom的猫

作用就是初始化数组,你也可以这样来private:int mat[2][3]={0};
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
CSS3