/**
*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:友元运算符函数
C++复数类与友元运算符
最新推荐文章于 2024-03-11 15:30:22 发布
本文介绍了一个使用C++实现的复数类,并演示了如何通过友元函数来重载加法、减法及取负运算符。通过对复数类成员变量的操作,实现了复数间的加减运算及取负操作。
1万+

被折叠的 条评论
为什么被折叠?



