欢迎来到天天文库
浏览记录
ID:48973813
大小:75.07 KB
页数:7页
时间:2020-02-26
《C++实验5 运算符重载和多态性.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验5运算符重载与多态性班级学号姓名郑成绩一、实验目的1.掌握用成员函数重载运算符的方法2.掌握用友元函数重载运算符的方法3.理解并掌握利用虚函数实现动态多态性和编写通用程序的方法4.掌握纯虚函数和抽象类的使用二、实验内容1.复数类加减法乘除运算(用成员函数定义运算符重载)。复数类的定义:classcomplex//复数类声明{public://外部接口complex(doubler=0.0,doublei=0.0)//构造函数{real=r,imag=i;}complexoperator+(complexc2);//运算符"+"重载成员函数complexopera
2、tor-(complexc2);//运算符"-"重载成员函数complexoperator*(complex);//运算符"*"重载成员函数complexoperator/(complex);//运算符"/"重载成员函数complexoperator=(complexc2);//运算符"="重载成员函数voiddisplay();//输出复数private://私有数据成员doublereal;//复数实部doubleimag;//复数虚部};实际程序:#includeusingnamespacestd;classcomplex//复数类声明{p
3、ublic://外部接口complex(doubler=0.0,doublei=0.0)//构造函数{real=r,imag=i;}complexoperator+(complexc2);//运算符"+"重载成员函数complexoperator-(complexc2);//运算符"-"重载成员函数complexoperator*(complexc2);//运算符"*"重载成员函数complexoperator/(complexc2);//运算符"/"重载成员函数complexoperator=(complexc2);//运算符"="重载成员函数voiddispla
4、y();//输出复数private://私有数据成员doublereal;//复数实部doubleimag;//复数虚部};complexcomplex::operator+(complexc2){doubleR=real+c2.real;doubleI=imag+c2.imag;returncomplex(R,I);}complexcomplex::operator-(complexc2){doubleR=real-c2.real;doubleI=imag-c2.imag;returncomplex(R,I);}complexcomplex::operator*(
5、complexc2){doubleR=real*c2.real-imag*c2.imag;doubleI=real*c2.imag+imag*c2.real;returncomplex(R,I);}complexcomplex::operator/(complexc2){doubleR=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);doubleI=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);returncomp
6、lex(R,I);}complexcomplex::operator=(complexc2){doubleR=c2.real;doubleI=c2.imag;returncomplex(R,I);}voidcomplex::display(){cout<7、();complexc4(5.5,3);cout<<"c4=";c4.display();complexc5=c1+c2;cout<<"c1+c2=";c5.display();complexc6=c1-c3;cout<<"c1-c3=";c6.display();complexc7=c1*c4;cout<<"c1*c4=";c7.display();complexc8=c1/c2;cout<<"c1/c2=";c8.display();complexc9=c4;cout<<"c9=c4=";c9.display();}2.复数类比较运算(用友元函数定义运算重载
7、();complexc4(5.5,3);cout<<"c4=";c4.display();complexc5=c1+c2;cout<<"c1+c2=";c5.display();complexc6=c1-c3;cout<<"c1-c3=";c6.display();complexc7=c1*c4;cout<<"c1*c4=";c7.display();complexc8=c1/c2;cout<<"c1/c2=";c8.display();complexc9=c4;cout<<"c9=c4=";c9.display();}2.复数类比较运算(用友元函数定义运算重载
此文档下载收益归作者所有