Essential C++第四章 基于对象的编程风格
如何实现一个Class
相关概念
一般而言,class由两部分组成:
- 一组公开(public)的操作函数和运算符,称为class的成员函数,并代表class的公开接口。身为class的用户,智能访问其公开接口。
- 一组私有的实现细节,一般由数据组成
身为一个用户,我们只利用其公开接口来进行编程。这种情形下,只要接口没有更改,即使实现细节重新打造,所有的应用程序代码也不需要变动
什么是构造函数和析构函数
相关概念
- 构造函数即初始化函数,构造函数可以重载。构造函数的名称和类名称相同。
- 成员初始化列表的写法
- 析构函数主要用来释放在对象生命周期中分配的资源
- 析构函数绝对不会有返回值,也没有任何参数。由于其参数列表是空的,所以也绝不可能被重载。
何谓mutable(可变)和const(不变)
相关概念
const修饰符紧接于函数参数列表之后
什么是this指针
相关概念
- this指针系在成员函数内用来指向其调用者(一个对象)
- 其内部工作过程是:编译器自动将this指针加到每一个成员函数的参数列表中。
静态类成员
相关概念
- 静态数据成员(static)用来表示唯一的、可共享的member(唯一容器)。它可以在同一类的所有对象中被访问。
- 必须提供其清楚的定义,一般在类外进行定义与初始化,且要用域作用符::,且不写static
打造一个Iterator Class
相关概念
- 对class进行运算符重载,运算符重载的规则
- 不可以被重载的四个运算符:. 、 .* 、::、?:
- typedef可以为某个类型设定为另外一个不同的名称
合作的关系必须建立在友谊的基础上
相关概念
- 友元friend,可以访问class的私有成员