C++实验十二.docx

上传人:b****6 文档编号:6939620 上传时间:2023-01-12 格式:DOCX 页数:15 大小:332.87KB
下载 相关 举报
C++实验十二.docx_第1页
第1页 / 共15页
C++实验十二.docx_第2页
第2页 / 共15页
C++实验十二.docx_第3页
第3页 / 共15页
C++实验十二.docx_第4页
第4页 / 共15页
C++实验十二.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C++实验十二.docx

《C++实验十二.docx》由会员分享,可在线阅读,更多相关《C++实验十二.docx(15页珍藏版)》请在冰豆网上搜索。

C++实验十二.docx

C++实验十二

1.classRectangle{

intleft,top;

intright,bottom;

public:

Rectangle(intl=0,intt=0,intr=0,intb=0);

~Rectangle(){};

voidAssign(intl,intt,intr,intb);

voidSetLeft(intt){left=t;}

voidSetRight(intt){right=t;}

voidSetTop(intt){top=t;}

voidSetBottom(intt){bottom=t;}

voidShow();

Rectangleoperator+=(Rectangle&);

Rectangleoperator-=(Rectangle&);

friendRectangleoperator-(Rectangle&,Rectangle&);

friendRectangleoperator+(Rectangle&,Rectangle&);

};

#include"rect.h"

#include

usingnamespacestd;

Rectangle:

:

Rectangle(intl,intt,intr,intb){

left=l;

top=t;

right=r;

bottom=b;

}

voidRectangle:

:

Assign(intl,intt,intr,intb){

left=l;

top=t;

right=r;

bottom=b;

}

voidRectangle:

:

Show(){

cout<<"left-toppointis("<

cout<<"right-bottompointis("<

}

RectangleRectangle:

:

operator+=(Rectangle&rect){

intx=rect.right-rect.left;

inty=rect.bottom-rect.top;

right+=x;

bottom+=y;

returnRectangle(left,top,right,bottom);

}

RectangleRectangle:

:

operator-=(Rectangle&rect){

intx=rect.right-rect.left;

inty=rect.bottom-rect.top;

right-=x;

bottom-=y;

returnRectangle(left,top,right,bottom);

}

Rectangleoperator-(Rectangle&rect1,Rectangle&rect2){

rect1-=rect2;

returnrect1;

}

Rectangleoperator+(Rectangle&rect1,Rectangle&rect2){

rect1+=rect2;

returnrect1;

}

#include

#include"rect.h"

usingnamespacestd;

intmain(){

Rectanglerect;

cout<<"初始rect:

"<

rect.Show();

rect.Assign(100,200,300,400);

cout<<"赋值后rect:

"<

rect.Show();

Rectanglerect1(0,0,200,200);

cout<<"初始rect1:

"<

rect1.Show();

rect+=rect1;

cout<<"与rect相加后的rect:

"<

rect.Show();

rect-=rect1;

cout<<"减去rect1后的rect:

"<

rect.Show();

Rectanglerect2;

rect2=rect+rect1;

cout<<"rect与rect1相加所得的rect2:

"<

rect2.Show();

rect2=rect-rect1;

cout<<"rect减去rect1所得的rect2:

"<

rect2.Show();

return0;

}

2。

classRectangle{

intleft,top;

intright,bottom;

public:

staticintCounter;

Rectangle(intl=0,intt=0,intr=0,intb=0);

~Rectangle(){};

voidAssign(intl,intt,intr,intb);

voidSetLeft(intt){left=t;}

voidSetRight(intt){right=t;}

voidSetTop(intt){top=t;}

voidSetBottom(intt){bottom=t;}

voidShow();

Rectangleoperator+=(Rectangle&);

Rectangleoperator-=(Rectangle&);

Rectangleoperator-(Rectangle&);

Rectangleoperator+(Rectangle&);

};

#include"rect.h"

#include

usingnamespacestd;

intRectangle:

:

Counter=0;

Rectangle:

:

Rectangle(intl,intt,intr,intb){

left=l;

top=t;

right=r;

bottom=b;

}

voidRectangle:

:

Assign(intl,intt,intr,intb){

left=l;

top=t;

right=r;

bottom=b;

}

voidRectangle:

:

Show(){

cout<<"left-toppointis("<

cout<<"right-bottompointis("<

}

RectangleRectangle:

:

operator+=(Rectangle&rect){

intx=rect.right-rect.left;

inty=rect.bottom-rect.top;

right+=x;

bottom+=y;

returnRectangle(left,top,right,bottom);

}

RectangleRectangle:

:

operator-=(Rectangle&rect){

intx=rect.right-rect.left;

inty=rect.bottom-rect.top;

right-=x;

bottom-=y;

returnRectangle(left,top,right,bottom);

}

RectangleRectangle:

:

operator-(Rectangle&rect){

intx=rect.right-rect.left;

inty=rect.bottom-rect.top;

right-=x;

bottom-=y;

returnRectangle(left,top,right,bottom);

}

RectangleRectangle:

:

operator+(Rectangle&rect){

intx=rect.right-rect.left;

inty=rect.bottom-rect.top;

right+=x;

bottom+=y;

returnRectangle(left,top,right,bottom);

}

#include

#include"rect.h"

usingnamespacestd;

intmain(){

Rectanglerect;

cout<<"初始rect:

"<

rect.Show();

rect.Assign(100,200,300,400);

cout<<"赋值后rect:

"<

rect.Show();

Rectanglerect1(0,0,200,200);

cout<<"初始rect1:

"<

rect1.Show();

rect+=rect1;

cout<<"与rect相加后的rect:

"<

rect.Show();

rect-=rect1;

cout<<"减去rect1后的rect:

"<

rect.Show();

Rectanglerect2;

rect2=rect+rect1;

cout<<"rect与rect1相加所得的rect2:

"<

rect2.Show();

rect2=rect-rect1;

cout<<"rect减去rect1所得的rect2:

"<

rect2.Show();

return0;

}

3。

#include

#include

usingnamespacestd;

classComplex{

doubleReal,Image;

public:

Complex(doubler=0.0,doublei=0.0){Real=r;Image=i;}

Complex(Complex&com){Real=com.Real;Image=com.Image;

}

voidPrint(){

cout<<"Real="<

}

Complexoperator-(Complex);

Complexoperator-=(Complex);

Complexoperator*=(Complex);

Complexoperator/=(Complex);

};

ComplexComplex:

:

operator-(Complexc){

Complextemp(Real-c.Real,Image-c.Image);

returntemp;

}

ComplexComplex:

:

operator-=(Complexc){

Complextemp;

temp.Real=Real-c.Real;

temp.Image=Image-c.Image;

Real=temp.Real;

Image=temp.Image;

returntemp;

}

ComplexComplex:

:

operator*=(Complexc){

Complextemp;

temp.Real=Real*c.Real;

temp.Image=Image*c.Image;

Real=temp.Real;

Image=temp.Image;

returntemp;

}

ComplexComplex:

:

operator/=(Complexc){

Complextemp;

temp.Real=Real/c.Real;

temp.Image=Image/c.Image;

Real=temp.Real;

Image=temp.Image;

returntemp;

}

intmain(void){

Complexc1(1.0,1.0),c2(2.0,2.0),c3(4.0,4.0),c;

c1.Print();

c=c2-c3;c.Print();

c-=c1;c.Print();

c*=c1;c.Print();

c/=c1;c.Print();

return0;

}

#include

usingnamespacestd;

classComplex{

doubleReal,Image;

public:

Complex(doubler=0.0,doublei=0.0){Real=r;Image=i;}

Complex(Complex&com){Real=com.Real;Image=com.Image;

}

voidPrint(){

cout<<"Real="<

}

friendComplexoperator-(constComplex&,constComplex&);

friendComplex&operator-=(Complex&,constComplex&);

friendComplex&operator*=(Complex&,constComplex&);

friendComplex&operator/=(Complex&,constComplex&);

};

Complexoperator-(constComplex&c1,constComplex&c2){

returnComplex(c1.Real-c2.Real,c1.Image-c2.Image);

}

Complex&operator-=(Complex&c1,constComplex&c2){

c1.Real=c1.Real-c2.Real;

c1.Image=c1.Image-c2.Image;

returnc1;

}

ComplexComplex:

:

operator*=(Complexc){

Complextemp;

temp.Real=Real*c.Real;

temp.Image=Image*c.Image;

Real=temp.Real;

Image=temp.Image;

returntemp;

}

ComplexComplex:

:

operator/=(Complexc){

Complextemp;

temp.Real=Real/c.Real;

temp.Image=Image/c.Image;

Real=temp.Real;

Image=temp.Image;

returntemp;

}

intmain(void){

Complexc1(1.0,1.0),c2(2.0,2.0),c3(4.0,4.0),c;

c1.Print();

c=c2-c3;c.Print();

c-=c1;c.Print();

c*=c1;c.Print();

c/=c1;c.Print();

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1