课后习题 第十章 类与对象.pdf
文本预览下载声明
一:选择题
1.在下列关键字中,用于说明类中公有成员的是__.
a. public
b. private
c. protected
d. friend
2 .下列的各函数中, ___ 不是类的成员函数.
a. 构造函数
b. 析构函数
c. 友元函数
d. 复制构造函数
3.___不是构造函数的特征。
a. 构造函数的函数名与类名相同
b. 构造函数可以重载
c. 构造函数可以设置缺省参数
d. 构造函数必须指定类型说明
4 .___是析构函数的特征。
a. 一个类中只能定义一个析构函数
b. 析构函数在对象创建时调用
c. 析构函数的定义只能在类体内
d. 析构函数可以有一个或多个参数
5.关于成员函数特征的下述描述中,___是错误的。
a .成员函数一定是内联函数
b .成员函数可以重载
c .成员函数可以设置参数的缺省值
d.成员函数可以是静态的
6.复制构造函数的形参是___ 。
a.某个对象名
b.某个对象的成员名
c.某个对象的引用名
d.某个对象的指针名
7.如果编程者没有显式定义构造函数(包括复制构造函数),C++编译器就___ 。
a.出现编译错误
b.没有构造函数
c.必须显示定义
d. 隐式定义缺省的构造函数
8.静态成员函数仅能访问___ 。
a.静态的数据成员
b.非静态的成员函数
c.非静态的数据成员
d. 以上都不对
9.静态数据成员的初始化必须在___ 。
a.类内
b.类外
c.在构造函数内
d.静态成员函数内
10.友元作用___ 。
a.提高程序的运用效率
b.加强类的封装性
c.实现数据的隐藏性
d.增加成员函数的种类
一:选择题:
1. A
2. C
3. D
4. A
5. A
6. C
7. D
8. A
9. B
10. A
二:判断题
1. 使用关键字class 定义的类中缺省的访问权限是私有(private )的。
2 . 构造函数和析构函数都不能重载。
3. 说明或定义对象时,类名前不需加class 关键字。
4 . 可以在类的构造函数中对静态数据成员进行初始化。
5. rotected 和private 区别在于:protected 成员可以被派生类访问,而private 成员则不能被派生类访问。
二:判断题
1. 对
2. 错
3. 对
4. 错
5 . 对
三、编程实现
1. 创建一个类,具有public 、private 和protected 数据成员和函数成员。创建该类的一个对象,看看试图存取所有的
类成员时会得到一些什么信息。编写一个全局friend 函数来访问该类的私有数据成员。
2 . 创建一个没有任何构造函数的类,显示可以用缺省的构造函数创建对象。然后为该类创建一个非缺省的构造函数
(带一个参数),试着在编译一次,解释发生的现象。
3. 建立一个类,该类包含const 成员函数和非const 成员函数,然后建立这个类的const 和非const 对象。分别为这两
种类型的对象调用两种成员函数,解释发生的现象。
4 . 利用静态数据成员的概念,编写一个类,可以统计目前存在多少个该类的对象。
5. 列举调用复制构造函数的三种情况。
6. 编写几何点(二维平面上)的类Point ,包括位置属性(二维坐标x ,y ),成员函数包括点的位置获取函数GetX ()
和GetY (),点的位置设置函数SetX ()和SetY (),和点的位置移动函数MoveTo ()以及点的信息打印函数Display
()。
7. 编写几何图形圆的类Circle ,包括两个属性:圆心O (用上题中的Point 类实现)和半径R 。成员函数包括:圆心
位置获取函数GetO
显示全部