#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
class Complex{
public:
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {};
Complex operator+ (const Complex &c2) const;
Complex operator- (const Complex &c2) const;
/*实现下面三个函数*/
Complex operator* (const Complex &c2) const;//成员函数
Complex operator/ (const Complex &c2) const;//成员函数
friend ostream & operator<< (ostream &out, const Complex &c);//非成员函数,声明为友元
private:
double real;
double imag;
};
Complex Complex::operator+ (const Complex &c2) const
{
return Complex(real + c2.real, imag + c2.imag);
}
Complex Complex::operator- (const Complex &c2) const
{
return Complex(real - c2.real, imag - c2.imag);
}
Complex Complex::operator* (const Complex &c2) const
{
return Complex(real*c2.real - imag*c2.imag, imag*c2.real + real*c2.imag);
}
Complex Complex::operator/ (const Complex &c2) const
{
return Complex((real*c2.real + imag*c2.imag) / (c2.real*c2.real + c2.imag*c2.imag), (imag*c2.real - real*c2.imag) / (c2.real*c2.real + c2.imag*c2.imag));
}
ostream & operator<< (ostream &out, const Complex &c)
{
out << c.real << " " << c.imag;
return out;
}
int main() {
double real, imag;
cin >> real >> imag;
Complex c1(real, imag);
cin >> real >> imag;
Complex c2(real, imag);
cout << c1 + c2 << endl;
cout << c1 - c2 << endl;
cout << c1 * c2 << endl;
cout << c1 / c2 << endl;
}
C8-1 复数加减乘除
最新推荐文章于 2022-07-06 12:41:56 发布