复习题
第 10 章 对象和类 复习题¶
-
什么是类?
将抽象转换为用户自定义类型的工具。类声明指定数据如何存储,也指定了访问和操作数据的方法。
-
类是如何实现抽象、封装和数据隐藏?
- 抽象:通过类方法的公有接口来对类对象进行操作。
- 数据隐藏:类的数据成员是私有成员。只能通过类声明中的成员函数类访问。
- 封装:具体的实现细节(数据表示和类方法)都是隐藏。
-
对象和类之前的关系是什么?
类似标准类型与变量之间的关系。类定义是一种类型,包含了如何使用它。对象则是一个变量,可以根据类定义的场景去创建和使用。
-
除了是函数之外,类函数成员与类数据成员之间的区别是什么?
类成员函数可直接对类数据成员直接进行访问。
-
定义一个类来表示银行账户。数据成员包括储户姓名、账号(使用字符串)和存款。成员函数执行如下操作。
- 创建一个对象并将其初始化
- 显示储户姓名、账号和存款
- 取出参数指定的款项 请提供类声明,而不用给出方法实现(实现可查看编程练习题1)
-
类构造函数在何时被调用?类析构函数?
- 类构造函数:在创建对象或显式调用构造函数时,会被调用。
- 类析构函数:当对象过期时被自动调用。
-
给出复习题5中的银行账户类的构造函数的代码。
-
什么是默认构造函数?拥有默认构造函数有何好处?
- 默认构造函数:没有参数或默认参数都有各自默认值。
- 好处:可声明对象而不初始化(即使是已经定义了初始化的构造函数),也可声明数组。
-
修改Stock类的定义(Stock20.h中的版本),使之包含返回各个数据成员值的成员函数。注意:返回公司名的成员函数不应为修改数组提供便利,也就是说,不能简单地返回string引用。
-
this 和 *this 是什么?
- this:this指针是类方法可使用的指针,指向用于调用方法的对象。
- this:对象的地址, this是对象本身。