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

来源:互联网 发布:javascript var 对象 编辑:程序博客网 时间:2024/06/03 14:23

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

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic

Problem Description

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

Input

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

Output

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

Example Input

2.3 5.43.4

Example Output

5.7

Hint


#include <iostream>using namespace std;class Complex{    double real;    double image;    public:        Complex() {real=0;image=0;}        void Input()        {            cin>>real>>image;        }        void Input1()        {            cin>>real;        }        Complex operator +(Complex &a)  //友元函数的函数重载        {            Complex c;            c.real=a.real+real;            return c;        }        void Show()        {            cout<<real<<endl;        }};int main(){    Complex a,c;    a.Input();    Complex b;    b.Input1();    c=a+b;    c.Show();    return 0;}



#include<bits/stdc++.h>using namespace std;class Complex{private:    double real, imag;public:    Complex(double a = 0, double b = 0)    {        real = a;        imag = b;    }    Complex operator + (Complex & c)    {        Complex x;        x.real = real + c.real;        return x;    }    void display()    {        cout<<real<<endl;    }};int main(){    double x, y;    cin>>x>>y;    Complex c1(x, y);    cin>>x;    Complex c2(x);    Complex c3;    c3 = c1 + c2;    c3.display();    return 0;}


阅读全文
0 0
原创粉丝点击