面向对象程序设计上机练习十二(运算符重载)

Problem Description

处理一个复数与一个double数相加的运算,结果存放在一个double型变量d1中,输出d1的值。定义Complex(复数)类,在成员函数中包含重载类型转换运算符:operator double(){return real;}
Input

输入占两行:
第1行是一个复数的实部和虚部,数据以空格分开。
第2行是一个实数。
Output

输出占一行,复数的实部和实数之和,小数点后保留1位。
Example Input

2.3 5.4
3.4
Example Output

5.7

#include
#include
using namespace std;
class Complex
{
private:
    double real, image;
public:
    Complex()
    {
        real = 0;
        image = 0;
    }
    Complex(double r, double i)
    {
        real = r;
        image = i;
    }
    Complex operator+(double x)
    {
        Complex D;
        D.real = real + x;
        D.image = image;
        return D;
    }
    void display()
    {
       printf("%.1lf\n",real);
    }

};

int main()
{
    double a, b, c;
    cin >> a >> b >> c;
    Complex c1(a, b);
    Complex c3 = c1 + c;
    c3.display();

}

你可能感兴趣的:(面向对象,函数)