Untitled Document

一：选择题
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。实现各种常用构造函数，实现整数、实数向复数的转化函数，实现整数、实数和复数以及复数之间的加、减、乘、除各种运算，实现＝＝、！＝等逻辑运算。