首页 > 代码库 > 面向对象程序设计上机练习十一(运算符重载)(SDUTOJ1273)

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

http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1273

题目描述

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

输入

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

输出

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

示例输入

2 3 43 5 34 3 15 4 3

示例输出

6 6 58 9 6

来源

zlh
#include <iostream>using namespace std;class jz{public:    friend jz operator +(jz &c1,jz &c2);    void display();    void set()    {        for(int i=0; i<2; i++)        {            for(int j=0; j<3; j++)            {                cin>>a[i][j];            }        }    }private:    int a[2][3];};jz operator+(jz &c1,jz &c2){    jz c4;    for(int i=0; i<2; i++)    {        for(int j=0; j<3; j++)        {            c4.a[i][j]=c1.a[i][j]+c2.a[i][j];        }    }    return jz(c4);}void jz::display(){    for(int i=0; i<2; i++)    {        for(int j=0; j<3; j++)        {            if(j==0) cout<<a[i][j];            else cout<<" "<<a[i][j];        }        cout<<endl;    }}int main(){    jz c1,c2,c3;    c1.set();    c2.set();    c3=c1+c2;    c3.display();    return 0;}

 

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