习题 10.6 请编写程序,处理一个复数与一个double数相加的运算,结果存放在一个double型的变量d1中,输出d1的值,再以复数形式输出此值。定义Complex(复数)类,在成员函数中包含。。

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
}

猜你喜欢

转载自blog.csdn.net/navicheung/article/details/82705240