//定义复数类的运算符重载
#include <iostream>
using namespace std;
class Complex
{
public:
Complex() { real=0; imag=0; }
Complex ( double r, double i ) { real=r; imag=i; }
Complex operator + (Complex &c1);
Complex operator - (Complex &c1);
//Complex operator * (Complex &c1);
//Complex operator / (Complex &c1);
void display();
private:
double real;
double imag;
};
Complex Complex::operator + (Complex &c1)
{
Complex c;
c.real=real+c1.real;
c.imag=imag+c1.imag;
return c;
}
Complex Complex::operator - (Complex &c1)
{
Complex c;
c.real=real-c1.real;
c.imag=imag-c1.imag;
return c;
}
void Complex::display()
{
cout<<"("<<real<<","<<imag<<"i)"<<endl;
}
int main()
{
Complex c(3,4),c1(2,5),c2,c3;
c2=c+c1;
c3=c-c1;
cout<<"c+c1=";
c2.display();
cout<<"c-c1=";
c3.display();
return 0;
}
运算符重载实例
最新推荐文章于 2024-02-04 11:53:10 发布