C++运算符重载
C++运算符重载是指为用户自定义的类型赋予运算符特殊的含义,使得运算符可以根据操作数的类型执行不同的操作。例如,您可以重载+运算符,使得它可以用于连接字符串或者相加复数。
C++运算符重载的基本语法是:
返回值 operator 运算符 (参数列表)
其中,operator是关键字,运算符是要重载的运算符符号,参数列表是运算符的操作数。返回值和参数列表可以根据运算符的性质和需求进行设计。
C++运算符重载有两种实现方式:使用成员函数或者使用友元函数。使用成员函数时,重载运算符的第一个操作数必须是调用该函数的对象,而使用友元函数时,可以自由指定操作数的类型和个数。
C++中有一些运算符是可以重载的,有一些是不可以重载的。下面是一个可重载运算符的列表:
| 运算符类型 | 包括的运算符 |
|---|---|
| 双目算术运算符 | + (加),- (减),* (乘),/ (除),% (取模) |
| 关系运算符 | == (等于),!= (不等于),< (小于),> (大于),<= (小于等于),>= (大于等于) |
| 逻辑运算符 | ` |
| 单目运算符 | + (正),- (负),* (指针),& (取地址) |
| 自增自减运算符 | ++ (自增), -- (自减) |
| 赋值运算符 | =, +=, -= , *=, /= , %= , &=, ` |
| 空间申请与释放 | new, delete, new [], delete [] |
| 其他运算符 | () (函数调用), -> (成员访问), ,(逗号), [](下标) |
下面是一个不可重载运算符的列表:
. :成员访问运算符.*, ->* :成员指针访问运算符:: :域运算符sizeof :长度运算符?: :条件运算符# : 预处理符号

浙公网安备 33010602011771号