C++程序设计 湖南大学 杜四春、银红霞 其中,<函数类型>指定了重载运算符的返回值类型, operator是定义运算符重载函数的关键词,<运算符>给 定了要重载的运算符名称,是C++中可重载的运算符, 形参表中给出重载运算符所需要的参数和类型。对于 运算符重载为友元函数的情况,还要在函数类型说明 之前使用 friend关键词来说明 当运算符重载为类的成员函数时,函数的参数个 数比原来的运算数个数要少一个(后缀++、--除外) 当重载为类的友元函数时,参数个数与原运算数的个 数相同 般来讲,单目运算符最好重载为成员函数,而 双目运算符则最好重载为友元函数。运算符重载的主 要优点就是允许改变使用于系统内部的运算符的操作 方式,以适应用户新定义类型的类似运算
C++程序设计 湖南大学 杜四春、银红霞 其中,<函数类型>指定了重载运算符的返回值类型, operator是定义运算符重载函数的关键词,<运算符>给 定了要重载的运算符名称,是C++中可重载的运算符, 形参表中给出重载运算符所需要的参数和类型。对于 运算符重载为友元函数的情况,还要在函数类型说明 之前使用friend关键词来说明。 当运算符重载为类的成员函数时,函数的参数个 数比原来的运算数个数要少一个(后缀++、--除外); 当重载为类的友元函数时,参数个数与原运算数的个 数相同。 一般来讲,单目运算符最好重载为成员函数,而 双目运算符则最好重载为友元函数。运算符重载的主 要优点就是允许改变使用于系统内部的运算符的操作 方式,以适应用户新定义类型的类似运算
C++程序设计 湖南大学 杜四春、银红霞 9.3单目运算符重载 类的单目运算符可重载为一个没有参数的非静态 成员函数或者带有一个参数的非成员函数,参数必须 是用户字定义类型的对象或者是对该对象的引用 在C十+中,单目运算符有++和-,它们是变量自 动增1和自动减1的运算符。在类中可以对这两个单目 运算符进行重载。 如同“++运算符有前缀、后缀两种使用形式, ++”和“-”重载运算符也有前缀和后缀两种运算符 重载形式,以“++”重载运算符为例,其语法格式如 <函数类型> operator++(); /前缀运算 <函数类型> operator++(int);/后缀运算
C++程序设计 湖南大学 杜四春、银红霞 9.3 单目运算符重载 类的单目运算符可重载为一个没有参数的非静态 成员函数或者带有一个参数的非成员函数,参数必须 是用户字定义类型的对象或者是对该对象的引用。 在C++中,单目运算符有++和--,它们是变量自 动增1和自动减1的运算符。在类中可以对这两个单目 运算符进行重载。 如同“++”运算符有前缀、后缀两种使用形式, “++”和“--”重载运算符也有前缀和后缀两种运算符 重载形式,以“++”重载运算符为例,其语法格式如 下: <函数类型> operator ++(); //前缀运算 <函数类型> operator ++(int); //后缀运算