程序调试通过,你自己对照一下吧:#include #include using namespace std;class Matrix{ float b[2][2]; public: Matrix() {for(int i=0;iusing namespace std;class Matrix{ float b[2][2];public: Matrix(){} Matrix(float c[2][2]) {for(int i=0;i<2;i++) for(int j=0;j<2;j++) {
b[j]=c[j]; }//b=c; } Matrix& operator+(Matrix&); Matrix& operator-(Matrix&); Matrix& operator=(const Matrix&); void Show();};Matrix& Matrix::operator +(Matrix& c){ //Matrix t; for(int i=0;i<2;i++)for(int j=0;j<2;j++){ b[j]=b[j]+c.b[j];//} return *this;//}Matrix& Matrix::operator -(Matrix& c){ //Matrix t; for(int i=0;i<2;i++)for(int j=0;j<2;j++){ b[j]=b[j]+c.b[j];//} return *this;}Matrix& Matrix::operator =(const Matrix& c){ for(int i=0;i<2;i++)for(int j=0;j<2;j++){ b[j]=c.b[j];} return *this;//fanhuiyouwenti }void Matrix::Show(){ //Matrix t; cout<<"矩阵为:"<<endl; for(int i=0;i<2;i++) {for(int j=0;j<2;j++){ cout<<setw(4)<<b[j];}cout<<endl; }}int main(void){ float b[2][2]={{1.0f,2.0f},{3.0f,4.0f}}; float c[2][2]={{3.0f,4.0f},{5.0f,6.0f}}; Matrix a(b); Matrix d(c); a=a+d; a.Show(); return 0;} |