欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

4-1 复数类的运算符重载

程序员文章站 2022-06-02 17:04:05
...

Problem Description

通过本题目的练习可以掌握成员运算符重载及友元运算符重载
要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(<<)以方便输出一个复数的要求。
Input

要求在主函数中创建对象时初始化对象的值。
Output

输出数据共有4行,分别代表a,b的值和它们求和、求差后的值
Example Input


Example Output

a=3.2+4.5i
b=8.9+5.6i
a+b=12.1+10.1i
a-b=-5.7-1.1i

#include<cstdio>
#include<iostream>
using namespace std;
class Point
{
private:
    double real, image;
public:
    Point()
    {
        real = 0;
        image = 0;
    }
    Point(double r, double i)
    {
        real = r;
        image = i;
    }
    Point OP_ADD(Point &c2)
    {
        Point C;
        C.real = real + c2.real;
        C.image = image + c2.image;
        return C;
    }
    Point OP_DEL(Point &c3)
    {
        Point D;
        D.real = real - c3.real;
        D.image = image - c3.image;
        return D;
    }
    void display1()
    {
        cout << real << "+" << image << "i" << endl;
    }
    void display2()
    {
        cout << real << image << "i" << endl;
    }
};
int main()
{
    Point c1(3.2, 4.5), c2(8.9, 5.6), c3, c4;
    c3 = c1.OP_ADD(c2);
    c4 = c1.OP_DEL(c2);
    cout << "a=";
    c1.display1();
    cout << "b=";
    c2.display1();
    cout << "a+b=";
    c3.display1();
    cout << "a-b=";
    c4.display2();
}