第05章 运算符重载.ppt

第05章 运算符重载

在上面程序的基础上增加类型转换函数: operator double( ){return real;} 此时Complex类的公用部分为 public: Complex( ){real=0;imag=0;} Complex(double r){real=r;imag=0;} //转换构造函数 Complex(double r,double i){real=r;imag=i;} operator double( ){return real;} //类型转换函数 //重载运算符“+” friend Complex operator+ (Complex c1,Complex c2); void display( ); 其余部分不变。程序在编译时出错,原因是出现二义性。 可以看到: 重载后置自增运算符时,多了一个int型的参数,增加这个参数只是为了与前置自增运算符重载函数有所区别,此外没有任何作用。编译系统在遇到重载后置自增运算符时,会自动调用此函数。 C++的流插入运算符“”和流提取运算符“”是C++在类库中提供的,所有C++编译系统都在类库中提供输入流类istream和输出流类ostream。cin和cout分别是istream类和ostream类的对象。在类库提供的头文件中已经对“”和“”进行了重载,使之作为流插入运算符和流提取运算符,能用来输出和输入C++标准类型的数据。因此,

文档评论(0)

1亿VIP精品文档

相关文档