⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4-7.cpp

📁 一个用友元函数实现运算符重载的例子
💻 CPP
字号:
#include <iostream.h>
class complex
{
private:
		double real;      	//复数的实部    
		double image;    	//复数的虚部  
public:
		complex(void):real(0),image(0){}
		complex(double rp):real(rp),image(0){}
		complex(double rp,double ip):real(rp),image(ip){}
		~complex(){}
		friend complex operator+( complex x1,complex x2);
		friend complex operator-( complex x1,complex x2);
		friend complex operator*( complex x1,complex x2);
		friend complex operator/( complex x1,complex x2);
		void print(void);
};
inline complex operator+( complex x1,complex x2) 
{
	complex temp;
	temp=complex(x1.real+x2.real,x1.image+x2.image);
	return temp;
}
inline complex operator-( complex x1,complex x2) 
{
complex temp;
	temp=complex(x1.real-x2.real,x1.image-x2.image);
	return temp;
}
inline complex operator*( complex x1,complex x2) 
{
	complex temp;
   temp=complex(x1.real*x2.real-x1.image*x2.image,x1.real*x2.image+x1.image*x2.real);
	return temp;
}
inline complex operator/(complex x1,complex x2) 
{
double m;
	m=x2.real*x2.real+x2.image*x2.image;
   return complex((x1.real*x2.real+x1.image*x2.image)/m,
(x1.image*x2.real-x1.real*x2.image)/m);
}
void complex::print(void)
{
	cout<<"the complex is "<<real;
	if(image>0)              
		cout<<"+" ;  //iamge小于0,则自带-      
	if(image!=0)
		cout<<image<<"i"<<endl; 
}
void main()
{
complex a(3.3,5.8),b(2.9,8.6),c;
c=a+b;
c.print();
c=a-b;
c.print();
c=a*b;
c.print();
c=a/b;
c.print();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -