1、C+实验十二1class Rectangle int left,top; int right,bottom;public: Rectangle(int l=0,int t=0,int r=0,int b=0); Rectangle(); void Assign(int l,int t,int r,int b); void SetLeft(int t)left=t; void SetRight(int t)right=t; void SetTop(int t)top=t; void SetBottom(int t)bottom=t; void Show(); Rectangle operator
2、+=(Rectangle&); Rectangle operator-=(Rectangle&); friend Rectangle operator-(Rectangle&, Rectangle&); friend Rectangle operator+(Rectangle&, Rectangle&);#includerect.h#includeusing namespace std;Rectangle:Rectangle(int l,int t,int r,int b) left=l; top=t; right=r; bottom=b;void Rectangle:Assign(int l
3、,int t,int r,int b) left=l; top=t; right=r; bottom=b;void Rectangle:Show() coutleft-top point is(left,top)endl; coutright-bottom point is(right,bottom)endl;Rectangle Rectangle:operator+=(Rectangle& rect) int x=rect.right-rect.left; int y=rect.bottom-rect.top; right +=x; bottom +=y; return Rectangle(
4、left,top,right,bottom);Rectangle Rectangle:operator-=(Rectangle& rect) int x=rect.right-rect.left; int y=rect.bottom-rect.top; right -=x; bottom -=y; return Rectangle(left,top,right,bottom);Rectangle operator-(Rectangle &rect1,Rectangle& rect2) rect1 -= rect2; return rect1;Rectangle operator+(Rectan
5、gle &rect1,Rectangle& rect2) rect1 += rect2; return rect1;#include#includerect.husing namespace std;int main() Rectangle rect; cout初始rect:endl; rect.Show(); rect.Assign(100,200,300,400); cout赋值后rect:endl; rect.Show(); Rectangle rect1(0,0,200,200); cout初始rect1:endl; rect1.Show(); rect+=rect1; cout与re
6、ct相加后的rect:endl; rect.Show(); rect-=rect1; cout减去rect1后的rect:endl; rect.Show(); Rectangle rect2; rect2=rect+rect1; coutrect与rect1相加所得的rect2:endl; rect2.Show(); rect2=rect-rect1; coutrect减去rect1所得的rect2:endl; rect2.Show(); return 0;2。class Rectangle int left,top; int right,bottom;public: static int C
7、ounter; Rectangle(int l=0,int t=0,int r=0,int b=0); Rectangle(); void Assign(int l,int t,int r,int b); void SetLeft(int t)left=t; void SetRight(int t)right=t; void SetTop(int t)top=t; void SetBottom(int t)bottom=t; void Show(); Rectangle operator+=(Rectangle&); Rectangle operator-=(Rectangle&); Rect
8、angle operator-(Rectangle&); Rectangle operator+(Rectangle&);#includerect.h#includeusing namespace std;int Rectangle:Counter=0;Rectangle:Rectangle(int l,int t,int r,int b) left=l; top=t; right=r; bottom=b;void Rectangle:Assign(int l,int t,int r,int b) left=l; top=t; right=r; bottom=b;void Rectangle:
9、Show() coutleft-top point is(left,top)endl; coutright-bottom point is(right,bottom)endl;Rectangle Rectangle:operator+=(Rectangle& rect) int x=rect.right-rect.left; int y=rect.bottom-rect.top; right +=x; bottom +=y; return Rectangle(left,top,right,bottom);Rectangle Rectangle:operator-=(Rectangle& rec
10、t) int x=rect.right-rect.left; int y=rect.bottom-rect.top; right -=x; bottom -=y; return Rectangle(left,top,right,bottom);Rectangle Rectangle:operator-(Rectangle &rect) int x=rect.right-rect.left; int y=rect.bottom-rect.top; right -=x; bottom -=y; return Rectangle(left,top,right,bottom);Rectangle Re
11、ctangle:operator+(Rectangle &rect) int x=rect.right-rect.left; int y=rect.bottom-rect.top; right +=x; bottom +=y; return Rectangle(left,top,right,bottom);#include#includerect.husing namespace std;int main() Rectangle rect; cout初始rect:endl; rect.Show(); rect.Assign(100,200,300,400); cout赋值后rect:endl;
12、 rect.Show(); Rectangle rect1(0,0,200,200); cout初始rect1:endl; rect1.Show(); rect+=rect1; cout与rect相加后的rect:endl; rect.Show(); rect-=rect1; cout减去rect1后的rect:endl; rect.Show(); Rectangle rect2; rect2=rect+rect1; coutrect与rect1相加所得的rect2:endl; rect2.Show(); rect2=rect-rect1; coutrect减去rect1所得的rect2:en
13、dl; rect2.Show(); return 0;3。#include #includeusing namespace std;class Complex double Real,Image;public: Complex(double r=0.0,double i=0.0)Real=r;Image=i; Complex(Complex &com) Real=com.Real; Image=com.Image; void Print() coutReal=RealtImageImageendl; Complex operator-(Complex);Complex operator-=(C
14、omplex);Complex operator*=(Complex);Complex operator/=(Complex);Complex Complex:operator-(Complex c) Complex temp(Real-c.Real,Image-c.Image); return temp;Complex Complex:operator-=(Complex c) Complex temp; temp.Real=Real-c.Real; temp.Image=Image-c.Image; Real=temp.Real; Image=temp.Image; return temp
15、;Complex Complex:operator*=(Complex c) Complex temp; temp.Real=Real*c.Real; temp.Image=Image*c.Image; Real=temp.Real; Image=temp.Image; return temp;Complex Complex:operator/=(Complex c) Complex temp; temp.Real=Real/c.Real; temp.Image=Image/c.Image; Real=temp.Real; Image=temp.Image; return temp;int m
16、ain(void)Complex c1(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();return 0;#include using namespace std;class Complex double Real,Image;public: Complex(double r=0.0,double i=0.0)Real=r;Image=i; Complex(Complex &com) Real=com.Real; I
17、mage=com.Image; void Print() coutReal=RealtImageImageendl; friend Complex operator-(const Complex &,const Complex &);friend Complex &operator-=(Complex &,const Complex &);friend Complex &operator*=(Complex &,const Complex &);friend Complex &operator/=(Complex &,const Complex &);Complex operator-(con
18、st Complex & c1,const Complex & c2) return Complex (c1.Real-c2.Real,c1.Image-c2.Image); Complex &operator-=(Complex &c1,const Complex &c2) c1.Real=c1.Real-c2.Real; c1.Image=c1.Image-c2.Image; return c1;Complex Complex:operator*=(Complex c) Complex temp; temp.Real=Real*c.Real; temp.Image=Image*c.Imag
19、e; Real=temp.Real; Image=temp.Image; return temp;Complex Complex:operator/=(Complex c) Complex temp; temp.Real=Real/c.Real; temp.Image=Image/c.Image; Real=temp.Real; Image=temp.Image; return temp;int main(void)Complex c1(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();return 0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1