这是《数据结构与算法分析 C++描述(第3版)》的学习笔记
example目录下是书本例子的源码,但是它们只是部分源码,不是完整的C++程序
目录:1_4
默认参数
IntCell构造函数阐述了默认参数。
初始化列表
IntCell构造函数在其代码体之前使用初始化列表。
explicit构造函数
- 所有的单参数构造函数都必须是explicit的,以避免后台类型转换。
- 通常,单参数构造函数定义了一个隐式类型转换。
- 使用explicit意味着单参数构造函数不能用来创建隐式临时对象。
常量成员函数
只进行监测但不改变其对象状态的成员函数称为访问函数。
改变其对象状态的成员函数称为修改函数。
默认情况下,所有的成员函数都是修改函数,要使成员函数成为访问函数必须在参数类型列表结尾的圆括号后加上关键字const。
如果成员函数标记为访问函数但在实现中又去改变数据成员的值,那么就会出现编译错误。A
fig1_7给出了类IntCell的接口
fig1_8给出其实现
fig1_9给出了一个使用IntCell的main例程
1.预处理命令
接口通常都放在以.h结尾的文件中。需要接口信息的源代码必须#include接口文件。
为了避免一个接口被读两遍,每个头文件在读类接口时都定义一个预处理器来定义一个符号。
2.作用域运算符
ClassName::member
::称为作用域运算符。
3.签名必须精确匹配
实现的成员函数的签名必须与类接口中列出的签名精确匹配。
注意,默认参数仅在接口中被定义,在实现中则被忽略。
4.如基本类型一样声明对象
在C++中,对象如基本类型一样声明。