第三章习题 (类与对象)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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.使用关键字class定义的类中缺省的访问权限是私有(private)的。

2.构造函数和析构函数都不能重载。

3.说明或定义对象时,类名前不需加class关键字。

4.可以在类的构造函数中对静态数据成员进行初始化。

5.rotected和private区别在于:protected成员可以被派生类访问,而private成员则不能被派生类访问。

三、编程实现

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()和半径获取函数GetR();半径位置设置函数SetR();圆的位置移动函数MoveTo();圆的半径设置函数SetR();以及圆的信息打印函数Display()。

8.编写复数类Complex。实现各种常用构造函数,实现整数、实数向复数的转化函数,实现整数、实数和复数以及复数之间的加、减、乘、除各种运算,实现==、!=等逻辑运算。

相关文档
最新文档