#include
using namespace std;
class complex //複數類聲明
{
private:
double sb;//實數部
double xb;//虛數部
public:
complex(double r=0,double i=0)//直接指派可以多用于有參和無參的函數
{
sb=r;xb=i;
}
friend complex operator+(complex &a,complex &b);//利用友元的時候就要把參與運算的所有類都定義并添加引用符号&
void Show()
{
cout<<"("<<sb<<","<<xb<<")"<<endl;
}
};
complex operator+(complex &a,complex &b)//這裡的operator就不是複數類中的了
{
complex x;
x.sb=a.sb+b.sb;
x.xb=a.xb+b.xb;
return x;
}
int main() //主函數
{
complex z1(1.5,2.8),z2(-2.3,3.4),z3; //聲明複數類的對象
z3=z1+z2;//+運算符被重載
cout<<“z3=”;
z3.Show();
return 0;
}