C++——有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加。(如c=a+b)用重载流插入运算符“<<”和流提取运算符“>>”用于该矩阵的输入和输出。

没注释的源代码

#include <iostream>

using namespace std;

class matrix

{

private:

    int m[2][3];

public:

    matrix();

    void input();

    void display();

    friend matrix operator+(matrix&,matrix&);

    friend ostream&operator<<(ostream&,matrix&);

    friend istream&operator>>(istream&,matrix&);

};

matrix::matrix()

{

    for(int i=0;i<2;i++)

    {

        for(int j=0;j<3;j++)

        {

            m[i][j]==0;

        }

    }

}

ostream& operator<<(ostream&output,matrix&a)

{

    for(int i=0;i<2;i++)

    {

        for(int j=0;j<3;j++)

        {

            output<<a.m[i][j]<<" ";

        }

        output<<endl;

    }

    return output;

}

istream& operator>>(istream&input,matrix&a)

{

    cout<<"the matrix:"<<endl;

    for(int i=0;i<2;i++)

    {

        for(int j=0;j<3;j++)

        {

            input>>a.m[i][j];

        }

    }

    return input;

}

matrix operator+(matrix&a,matrix&b)

{

    matrix c;

    for(int i=0;i<2;i++)

    {

        for(int j=0;j<3;j++)

        {

            c.m[i][j]=a.m[i][j]+b.m[i][j];

        }

    }

    return c;

}

int main()

{

    matrix a,b,c;

    cin>>a>>b;

    cout<<"the matrix a:"<<endl;

    cout<<a<<endl;

    cout<<"the matrix b:"<<endl;

    cout<<b<<endl;

    c=a+b;

    cout<<"the matrix c:"<<endl;

    cout<<c<<endl;

    return 0;

}

猜你喜欢

转载自blog.csdn.net/2303_80770781/article/details/143093872