C/C++《C++ Primer Plus》第11章 使用类

运算符重载

运算符重载将重载的概念扩展到运算符上,允许赋予C++运算符多种含义,也允许将运算符重载扩展到用户定义的类型。

运算符函数:operatorop (argument-list)。

使用重载运算符时,可以视为使用相应的运算符函数替换运算符。

计算时间:一个运算符重载示例

调用operator+ ( )方法可以有两种方式,一种是运算符函数表示法,一种是运算符表示法。在运算符表示法中,运算符左侧的对象是调用对象,运算符右侧的对象是作为参数被传递的对象。

重载限制

  • 重载后的运算符必须至少有一个操作数是用户定义的类型,这将防止用户为标准类型重载运算符
  • 使用运算符时不能违反运算符原来的句法规则,也不能修改运算符的优先级
  • 不能创建新运算符
  • 不能重载下面的运算符
sizeof sizeof运算符
. 成员运算符
.* 成员指针运算符
:: 作用域解析运算符
?: 条件运算符
typeid 一个RTTI运算符
const_cast 强制类型转换运算符
dynamic_cast 强制类型转换运算符
reinterpret_cast 强制类型转换运算符
static_cast 强制类型转换运算符
  • 下面的运算符只能通过成员函数进行重载
= 赋值运算符
() 函数调用运算符
[] 下标运算符
->

通过指针访问类成员的运算符

友元

猜你喜欢

转载自www.cnblogs.com/cpp-blog/p/12809666.html