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

来源:互联网 发布:jsp java数组类型转换 编辑:程序博客网 时间:2024/05/20 06:29

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

Time Limit: 1000MS Memory limit: 65536K

题目描述

有两个矩阵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 block{    private: int a[2][3];    int i,j;    public:        block()        {            for(i=0;i<2;i++)                for(j=0;j<3;j++)                a[i][j]=0;        }        block operator+(block &a1);        friend istream &operator>>(istream &in,block &a2);        friend ostream &operator<<(ostream &out,block &a3);};block block::operator+(block &a1){    block c;    for(i=0;i<2;i++)        for(j=0;j<3;j++)        c.a[i][j]=a1.a[i][j]+a[i][j];        return c;}istream &operator>>(istream &in,block &a2){    for(int i=0;i<2;i++)        for(int j=0;j<3;j++)            in>>a2.a[i][j];        return in;}ostream &operator<<(ostream &out,block &a3){    for(int i=0;i<2;i++)    {      for(int j=0;j<3;j++)            {                if(j!=2)                out<<a3.a[i][j]<<" ";                else out<<a3.a[i][j]<<endl;            }    }       return out;}int main(){    block a,b,c;    cin>>a;    cin>>b;    c=a+b;    cout<<c;    return 0;}


0 0
原创粉丝点击