#include <iostream>
using namespace std;
//问题:实现复数乘法、除法功能(运算符重载方式)
class fuShu //复数类
{
private:
//成员变量
double real,imag;
public:
//成员函数
fuShu(double r=0,double i=0):real(r),imag(i){}; //复数初始化
fuShu operator+(fuShu f); //复数相加的功能
friend fuShu operator*(fuShu f1,fuShu f2);
fuShu operator-(fuShu f);//复数相减
void show(); //输出一个复数
};
fuShu fuShu::operator+(fuShu f)
{
fuShu r;
r.real=real+f.real;
r.imag=imag+f.imag;
return r;
}
fuShu operator*(fuShu f1,fuShu f2)
{
return fuShu(f1.real*f2.real-f1.imag*f2.imag,f1.imag*f2.real+f1.real*f2.imag);
}
void fuShu::show()
{
cout<<real<<"+"<<imag<<"i"<<endl;
}
int main()
{
fuShu f,f1(3,4),f2(5,-2);
f=f1+f2;
f.show();
f=f1*f2;
f.show();
return 0;
}
C++运算符重载----复数的运算
最新推荐文章于 2025-03-14 11:17:35 发布