/**
*cppTest-7.3:友元运算符函数
*
*author 炜sama
*/
#include<iostream.h>
class complex{
float real,imag;
public:
complex(float r=0,float i=0) { real=r; imag=i; }
void show(){ cout<<"("<<real<<","<<imag<<")"<<endl; }
friend complex operator+(complex &,complex &);//声明时可以省略&后面的形参!!!
friend complex operator-(complex &,complex &);//友元函数要把二元运算符的两个参数都写出来!
friend complex operator-(complex &);
};
complex operator+(complex &c1,complex &c2)//定义时再定义形参
{
float r=c1.real+c2.real;
float i=c1.imag+c2.imag;
return complex(r,i);
}
complex operator-(complex &c1,complex &c2)
{
float r=c1.real-c2.real;
float i=c2.imag-c2.imag;
return complex(r,i);
}
complex operator-(complex &c)
{
return complex(-c.real,-c.imag);
}
void main()
{
complex c1(2.5,3.7),c2(4.2,6.5);
complex c;
c=c1-c2;
c.show();
c=c1+c2;
c.show();
c=-c1;
c.show();
}
cppTest-7.3:友元运算符函数
最新推荐文章于 2024-03-11 15:30:22 发布