一、问题描述。
二、设计思路
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();
}
标签:real,image,Complex,复数,c2,操作,c1 From: https://www.cnblogs.com/luoqingci/p/17331438.html