版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/navicheung/article/details/82705240
C++程序设计(第三版) 谭浩强 习题10.6 个人设计
习题 10.6 请编写程序,处理一个复数与一个double数相加的运算,结果存放在一个double型的变量d1中,输出d1的值,再以复数形式输出此值。定义Complex(复数)类,在成员函数中包含重载类型转换运算符:operator double(){return real;}
代码块:
#include <iostream>
using namespace std;
class 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;}
void display();
private:
double real;
double imag;
};
void Complex::display()
{
cout<<"("<<real;
if (imag>=0) cout<<"+";
cout<<imag<<"i)"<<endl;
}
int main()
{
Complex c(3, -4);
double d1;
d1=c+2.5;
cout<<d1<<endl;
Complex(d1).display();
system("pause");
return 0;
}