您的位置:首页 > 编程语言 > C语言/C++

C++运算符重载----复数的运算

2017-10-28 19:32 253 查看
#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++ 对象