文章目录
第 14 章 重载运算与类型转换
14.1 基本概念
- 第 14 章 重载运算与类型转换
- 14.1 基本概念
- 14.2 输入和输出运算符
- 14.2.1 重载输出运算符
- 14.3 算术和关系运算符
- 14.3.1 相等运算符
- 14.3.2 关系运算符(*)
- 14.4 赋值运算符
- 14.5 下标运算符
- 14.6 递增和递减运算符
- 14.7 成员访问运算符
- 14.8 函数调用运算符
- 14.8.1 lambda 是函数对象
- 14.8.2 标准库定义的函数对象
- 14.8.3 可调用对象与 function
- 14.9 重载、类型转换与运算符
- 14.9.1 类型转换运算符
- 14.9.2 避免有二义性的类型转换
- 14.9.3 函数匹配与重载运算符(*)
除了重载的函数调用运算符 operator() 之外,其他重载运算符不能含有默认实参。
可以重载的运算符:

(1)选择作为成员或者非成员
下面的准则有助于我们在将运算符定义为成员函数还是普通的非成员函数做出抉择:
- 赋值(
=
)、下标([]
)、调用(()
)和成员访问箭头(->
)运算符必须是成员。 - 复合赋值运算符一般来说应该是成员,但并非必须。
- 改变对象状态的运算符或者与给定类型密切相关的运算符,如递增、递减和解引用 运算符,通常应该是成员。
- 具有对称性的运算符可能转换任意一端的运算对象,例如算术、相等性、关系和位 运算符等,因此它们通常应该是普通的非成员函数。
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?