实验
5
运算符重载与多态?/p>
班级学号姓名成绩
一.实验目?/p>
1
.掌握用成员函数重载运算符的方法
2
.掌握用友元函数重载运算符的方法
3
.理解并掌握利用虚函数实现动态多态性和编写通用程序的方?/p>
4
.掌握纯虚函数和抽象类的使用
二.实验内容
1.
复数类加减法乘除运算
(
用成员函数定义运算符重载
)
?/p>
复数类的定义?/p>
class complex
//
复数类声?/p>
{ public:
//
外部接口
complex(double r=0.0,double i=0.0)
//
构造函?/p>
{real=r,imag=i;}
complex operator +(complex c2);
/
/
运算?/p>
"+"
重载成员函数
complex operator - (complex c2);
//
运算?/p>
"-"
重载成员函数
complex operator *(complex c2 );
//
运算?/p>
"*"
重载成员函数
complex operator /(complex c2);
//
运算?/p>
"/"
重载成员函数
complex operator =(complex c2);
//
运算?/p>
"="
重载成员函数
void display();
//
输出复数
private:
/
/
私有数据成员
double real;
//
复数实部
double imag;
//
复数虚部
};
2
.复数类比较运算
(
用友元函数定义运算重?/p>
)
?/p>
注意?/p>
1
)复数类比较运算按复数的模比较两个复数的大小?/p>
2
)复数相等判断当两个复数的实部和虚部都相等,两个复数才相等,否则不相
等?/p>
类的定义
class complex
//
复数类声?/p>
{
public:
complex(double r=0.0,double i=0.0)
{real=r;imag=i;}
//
构造函?/p>
friend int operator> (complex c1,complex c2);
//
运算?/p>
">"
重载友元函数
friend int operator>=(complex c1,complex c2); //
运算?/p>
">="
重载友元函数