面向对象程序设计上机练习十一(运算符重载)

题目描述

有两个矩阵a和b,均为2行3列,求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加。如:c=a+b。

输入

第1、2行是矩阵a的值,数据以空格分开。
第3、4行是矩阵b的值,数据以空格分开。

输出

2个矩阵a、b之和,以行列形式显示。

示例输入

2 3 4
3 5 3
4 3 1
5 4 3

示例输出

6 6 5
8 9 6

示例程序
#include <iostream>

using namespace std;

class Array
{
public:
    void show()
    {
        int i,j;
        for(i=0;i<2;i++)
        {
            for(j=0;j<3;j++)
            {
                if(j!=2)
                    cout<<da[i][j]<<" ";
                else
                    cout<<da[i][j]<<endl;
            }
        }
    }
    Array operator+(Array &fig)
    {
        Array x;
        int i,j;
        for(i=0;i<2;i++)
        {
            for(j=0;j<3;j++)
            {
                x.da[i][j]=da[i][j]+fig.da[i][j];
            }
        }
        return(x);
    }
    void setdata()
    {
        int i,j;
        for(i=0;i<2;i++)
        {
            for(j=0;j<3;j++)
            {
                cin>>da[i][j];
            }
        }
    }
private:
    int da[2][3];
};

int main()
{
    Array a,b;
    a.setdata();
    b.setdata();
    Array c;
    c=a+b;
    c.show();
    return 0;
}
posted @ 2014-10-24 19:10  夏迩  阅读(139)  评论(0)    收藏  举报