最近在通过侯捷的C++视频重新温习C++的基本语法,由此,记下一些自己认为比较重要的笔记。
重载的限制:
1、重载后的运算符必须至少有一个操作数类型是由用户定义的,这将防止用户为标准类型重载运算符。
2、使用运算符时不能违反原来的语法规则。
3、不能创建新的运算符。
4、不能重载以下的运算符:
①sizeof | sizeof运算符 |
②. | 成员运算符 |
③.* | 成员指针运算符 |
④:: | 作用域解析运算符 |
⑤?: | 条件运算符 |
⑥typeid | 一个RTTI运算符 |
⑦const_cast | 强制类型转换运算符 |
⑧dynamic_cast | 强制类型转换运算符 |
⑨reinterpret_cast | 强制类型转换运算符 |
⑩static_cast | 强制类型转换运算符 |
5、下列运算符只能通过成员函数重载:
= | 赋值运算符 |
() | 函数调用运算符 |
[] | 下标运算符 |
-> | 通过指针访问类成员的运算符 |