只能为自定义数据类型重载操作符
两种实现手段:
1.成员函数(第一个操作数是this)
2.函数
class complex{
double re, im;
public:
complex(double r, double i):re(r), im(i){}
complex operator+ (complex c);
complex operator+ (complex c);
};
bool operator== (complex, complex);
在c++程序调用过载定义操作符方式,既可以在表达式中引用操作符,也可以是函数调用
X operator++ (int)
X operator-- (X&, int)
C++的一些限制:
1.过载操作符=、【】、()、->必须是非静态成员函数,以保证其第一操作数一定是左值
2.过载操作符定义时至少有一个操作数是自定义类型
3.欲使第一操作数为基本类型者,必须用函数