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();
}