1.运算符重载
#include<iostream>
using namespace std;
class Complex
{
public:
int a;
int b;
Complex(int a = 0,int b=0)
{
this->a = a;
this->b = b;
}
void printCom()
{
cout << a << "+" << b << "i" << endl;
}
protected:
private:
};
Complex myAdd(Complex &c1,Complex &c2)
{
Complex tmp(c1.a + c2.a, c1.b+c2.b);
return tmp;
}
Complex operator+(Complex &c1, Complex &c2)
{
Complex tmp(c1.a + c2.a, c1.b + c2.b);
return tmp;
}
void main()
{
int a = 0, b = 0;
int c;
c = a + b;//基础数据类型,编译器知道如何运行
Complex c1(1, 2), c2(3, 4);
//Complex c3;
//c3 = c2 + c1;//用户自定义的数据类型,编译器不知道如何运算
Complex c4 = c1 + c2;
c4.printCom();
cout << "hello.." << endl;
system("pause");
return;
}