复数类的操作

发布时间 2023-04-18 22:29:55作者: liuxuechao

一、问题描述。

二、设计思路

1、声明一个复数类Complex(类私有数据成员为double型的real和image)

2、定义构造函数,用于指定复数的实部与虚部。

3、定义取反成员函数,调用时能返回该复数的相反数(实部、虚部分别是原数的相反数)。

4、定义成员函数Print(),调用该函数时,以格式(real, image)输出当前对象。

5、编写加法友元函数,以复数对象c1,c2为参数,求两个复数对象相加之和。

6、主程序实现:

(1)读入两个实数,用于初始化对象c1。

(2)读入两个实数,用于初始化对象c2。

(3)计算c1与c2相加结果,并输出。

(4)计算c2的相反数与c1相加结果,并输出。

三、代码实现。

#include<iostream>

#include<iomanip>
#include<cmath>

using namespace std;
class Complex
{
private:
double real;
double image;
public:
Complex(double x = 0, double y = 0)
{
Complex c(real, image);
c.real = x;
c.image = y;
}

Complex qufan( )
{
Complex c(0,0);
c.real = - real;
c.image = -image;
return c;
}
void Print()
{
cout << "(" << real << "," << image << ")" << endl;
}
friend Complex jia(Complex c1,Complex c2)
{
Complex c(0,0);
c.real = c1.real + c2.real;
c.image = c1.image + c2.image;
return c;
}
void set()
{
cin >> real >> image;
}
};
int main()
{
Complex c1, c2;
c1.set();
c2.set();
Complex c = jia(c1, c2);
c.Print();
Complex d = c2.qufan();
Complex e = jia(c1, d);
e.Print();
c2.Print();
}