重载操作符

重载操作符是一种 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作为操作符的左操作数传递进函数,所以操作符的操作数要比其他形式少一个。