![](https://csdnimg.cn/release/download_crawler_static/87509680/bg1.jpg)
一.填空题
1.1 类定义的关键字是 。类的数据成员通常指定为 成员。类的函数成员通
常指定为 成员,指定为 公有 的类成员可以在类对象所在域中的任何位置访问它们,
类的 只能被该类的成员函数或友元函数访问。
1.2 类的访问限定符包括 、 和 。类成员默认的访问方式是 。访问限
定符在类中 先后次序,各限定符 允许 (允许/不允许)多次出现。
1.3 构造函数的任务是 。类中可以有 个构造函数,它们由 区分。如果类
说明中没有给出构造函数,则 C++编译器会提供构造函数,该函数 (完成/不完成)对
象初始化工作。
1.4 拷贝构造函数的参数是 ,当程序没有给出拷贝构造函数时,编译系统会提供 ,完
成类对象的 。拷贝构造函数被调用情况有 种。
1.5 析构函数在对象 时被自动调用。类中没有定义析构函数时,编译系统会提供一个
默认的析构函数。该函数 (完成/不完成)具体对象的清理工作。
二.选择
1. 下列说法中正确的是( )。
A.类定义中只能说明函数成员的函数头,不能定义函数体
B.类中的函数成员可以在类体中定义,也可以在类体之外定义
C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中
D.在类体之外定义的函数成员不能操作该类的私有数据成员
2. 有如下类定义:
class sample {
int n;
public:
sample (int i=0):n(i){ }
void setValue(int n0);
};
下列关于 setValue 成员函数的实现中,正确的是( )。
A.sample::setValue(int n0){n=n0;}
B.void sample::setValue(int n0){n=n0;}
C.void setValue(int n0){n=n0;}
D.setValue(int n0){n=n0;}
3. 在下面的类定义中,错误的语句是( )。
class sample{
public:
sample(int val); //①
~sample( ); //②
private:
int a=2.5; //③
public:
sample( ); //④
};
A.① B.② C.③ D.④
4. 类的构造函数被自动调用执行的情况是在创建该类的( )。
A.成员函数时 B.数据成员时