码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-10-18 21:02:02      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:des   blog   io   os   sp   数据   div   2014   on   

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

Time Limit: 1000MS Memory limit: 65536K

题目描述

有两个矩阵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 position
{
private:
    int x1,x2,x3;
    int y1,y2,y3;

public:
    position(int a=0,int b=0,int c=0,int d=0,int e=0,int f=0)
    {
        x1=a;
        x2=b;
        x3=c;
        y1=d;
        y2=e;
        y3=f;
    }

    position operator +(position & r);
    friend ostream&operator <<(ostream&, position&);
};

position position :: operator +(position & r)
{
    position p;
    p.x1=x1+r.x1;
    p.x2=x2+r.x2;
    p.x3=x3+r.x3;
    p.y1=y1+r.y1;
    p.y2=y2+r.y2;
    p.y3=y3+r.y3;
    return p;
}

ostream & operator << (ostream & output, position &r)
{
    output<<r.x1<<" "<<r.x2<<" "<<r.x3<<endl;
    output<<r.y1<<" "<<r.y2<<" "<<r.y3;
    return output;
}

int main()
{
    int a,b,c,d,e,f;
    cin>>a>>b>>c>>d>>e>>f;
    position r1(a,b,c,d,e,f);
    
    cin>>a>>b>>c>>d>>e>>f;
    position r2(a,b,c,d,e,f);
    
    position r3;
    r3=r1+r2;
    cout<<r3<<endl;
    return 0;
}


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

标签:des   blog   io   os   sp   数据   div   2014   on   

原文地址:http://blog.csdn.net/u013634961/article/details/40214605

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!