矩形类中运算符重载

来源:互联网 发布:手机男变女声音软件 编辑:程序博客网 时间:2024/05/22 00:07
/**程序的版权和版本声明部分:*程序的版权和版本声明部分:*Copyright(c)2013,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:尚振伟*完成日期:2014年6月12日*版本号:v0.1*对任务及求解方法的描述部分:*输入描述:无*问题描述:定义一个矩形类,数据成员包括左下角和右上角坐标,定义的成员函数包括必要的构造函数、输入坐标的函数,实现矩形加法,以及计算并输出矩形面积的函数。要求使用提示中给出的测试函数并不得改动。  两个矩形相加的规则是:决定矩形的对应坐标分别相加,如    左下角(1,2),右上角(3,4)的矩形,与    左下角(2,3),右上角(4,5)的矩形相加,得到的矩形是    左下角(3,5),右上角(7,9)的矩形。*程序输入:*程序输出:*问题分析:*算法设计:*我的程序:*/#include <iostream>#include <cmath>using namespace std;class Rectangle{public:    Rectangle() {}    Rectangle(double xx1,double yy1,double xx2,double yy2):x1(xx1),y1(yy1),x2(xx2),y2(yy2) {}    void input()    {        cin>>x1>>y1>>x2>>y2;    }    friend Rectangle operator+ (Rectangle &,Rectangle &);    friend ostream& operator<<(ostream &,Rectangle &);private:    double x1,y1,x2,y2;};ostream& operator<<(ostream &output,Rectangle &p){    double l=fabs(p.x1-p.x2);    double w=fabs(p.y1-p.y2);    output<<l*w<<endl;    return output;}Rectangle operator+ (Rectangle &p1,Rectangle &p2){    Rectangle p3;    p3.x1=p1.x1+p2.x1;    p3.x2=p1.x2+p2.x2;    p3.y1=p1.y1+p2.y1;    p3.y2=p1.y2+p2.y2;    return p3;}int main(){    Rectangle p1(1,1,6,3),p2,p3;    p2.input();    p3=p1+p2;    cout<<p3;    return 0;}


结果展示:

心得体会:咋一看,感觉挺麻烦的,结果静下心来做也不麻烦。

0 0
原创粉丝点击