重载运算符
您可以重定义或重载大部分 C++ 内置的运算符。这样,您就能使用自定义类型的运算符。
重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。
与其他函数一样,重载运算符有一个返回类型和一个参数列表。
不能重载的运算符
写法 | 解释 |
---|---|
. | 成员访问运算符 |
., -> | 成员指针访问运算符 |
:: | 域运算符 |
sizeof | 长度运算符 |
? | 条件运算符(三目运算符) |
# | 预处理符号 |
单目/双目/三目运算符
- 单目就是这个运算符只对一个变量进行操作
代表符号:!(逻辑非) ~(按位取反)++(自增)–(自减)
举例:int a=1;a++;(第二句“a++”则只对a一个变量进行了操作) - 双目就是这个运算符对两个变量进行操作
举例:int a=1,b=2,c;c=a+b;(第二句“c=a+b”则是对a,b两个变量进行了操作) - 三目就是这个运算符对三个变量进行操作
代表符号: ?:(条件运算符)
重载运算符的方式
重载运算符的方式有哪几种?
(1)令运算符重载函数作为类的成员函数
(2)令运算符重载函数作为类的友元函数
成员函数重载+号代码
#include <iostream>
using namespace std;
class player{
public:
int keyBoard;
int mouse;
player(int k, int m):keyBoard(k),mouse(m){
};
player(){
};
player operator+(</