文档详情

C++经典练习1C++经典练习1.doc

发布:2017-12-16约6.91千字共9页下载文档
文本预览下载声明
.声明 Point 类,有坐标_x,_y 两个成员变量;对 Point 类重载“++”(自增)、“--” (自减)运算符,实现对坐标值的改变。 #includeiostream using namespace std; class point { public: point(int xx=0,int yy=0) {x=xx;y=yy;} void set(int xx,int yy); point operator ++();point operator ++(int); point operator --();point operator --(int); void display(); private: int x,y; }; void point::set(int xx,int yy) {x=xx;y=yy;} void point::display() {cout(x,y)endl;} point point::operator ++() {return point(++x,++y);} point point::operator ++(int) {return point(x++,y++);} point point::operator --() {return point(--x,--y);} point point::operator --(int) {return point(x--,y--);} int main() { point a;int m,n;cout输入横纵坐标:;cinmn;a.set(m,n); couta=;a.display();cout(a++)=;(a++).display(); cout(++a)=;(++a).display();cout(a--)=;(a--).display(); cout(--a)=;(--a).display();return 0;} 分别使用成员函数和友元函数完成运算符加减法的重载,并进行测试。 #includeiostream.h using namespace std; class complex { public: complex(double r=0.0,double i=0.0):real(r),imag(i){} void set(double r, double i); void display(); friend complex operator +(complex c1,complex c2); friend complex operator -(complex c1,complex c2); private: double real;double imag; }; complex operator +(complex c1,complex c2) {return complex(c1.real+c2.real,c1.imag+c2.imag);} complex operator -(complex c1,complex c2) {return complex(c1.real-c2.real,c1.imag-c2.imag);} void complex::set(double r, double i) {real = r;imag = i;} void complex::display() {cout(real,imag)endl;} int main() {double a,b,c,d; complex c1,c2,c3; cout输入c1实部虚部:; cinab; cout输入c2实部虚部:; cincd; c1.set(a,b); c2.set(c,d); coutc1=;c1.display(); coutc2=; c2.display(); c3=c1+c2;coutc3=c1+c2=; c3.display(); c3=c1-c2;coutc3=c1-c2;c3.display();return 0;} .编一带派生类的程序,用虚函数多态性计算三角形、正方形和圆形的面积,并编写主程序测试。 #includeiostream using namespace std; class graph { public: graph(double i=0.0,double j=0.0){x=i;y=j;} virtual double area(); private:double x,y; }; double graph::area(){return 0.0;} class tria:public graph { public:tria(double i=0.
显示全部
相似文档