定义格式 friend 类名 operator 运算符名称(形参表)
实现“+”和“-”
#include <iostream>
using namespace std;
class Complex
{
public:
Complex()
{
real = 0;
imag = 0;
}
Complex(double r, double i)
{
real = r;
imag = i;
}
friend Complex operator+(Complex &c1,Complex &c2);
friend Complex operator-(Complex &c1, Complex &c2);
void display();
private:
double real;
double imag;
};
Complex operator+(Complex &c1,Complex &c2)
{
return Complex(c1.real + c2.real, c1.imag + c2.imag);
}
Complex operator-(Complex &c1, Complex &c2)
{
return Complex(c1.real - c2.real, c1.imag - c2.imag);
}
void Complex::display()
{
cout << "(" << real << "," << imag << "i)" << endl;
}
int main()
{
Complex c1(4, 6), c2(6, 2), c3;
cout << "c1="; c1.display();
cout << "c2="; c2.display();
c3 = c1 + c2;
cout << "c1+c2="; c3.display();
c3 = c1 - c2;
cout << "c1-c2="; c3.display();
while (1);
return 0;
}