重载操作符
重载操作符是一种 C++的多态。操作符重载将重载的概念从函数扩展到操作符,赋予操作符更多的含义。重载操作符需要使用操作符函数的特殊格式,其格式为返回值类型 operator op(参数列表)
。其中,op
是将要重载的操作符,并且是 C++中已有的有效操作符,不能虚构一个新的符号。
例如以下类重载了+
操作符。
class Time {
private:
int hours;
int minutes;
public:
Time();
Time(int hour, int minute=0);
Time operator+(const Time& t) const; // const成员函数不能修改调用它们的实例
}
默认以成员函数方式重载的操作符,会默认将本类实例this
作为操作符的左操作数传递进函数,所以操作符的操作数要比其他形式少一个。