高级语言程序设计第二次作业
一、选择题(每小题2分,共20分)
1. 假定一个类的构造函数为A ( int aa, int bb) { a = aa; b = bb; },则执行A x(4,5);语法
后,x.a和x.b的值分别为(A )。
A.4和5 B.5和4 C.4和20 D.20和5
2. 假定AB为一个类,则执行AB x;语句时将自动调用该类的(B)。
A.有参构造函数B.无参构造函数
C.拷贝构造函数D.赋值重载函数
3. C++语言建立类族是通过(B )。
A.类的嵌套B.类的继承C.虚函数D.抽象类
4. 在C++中,数据封装要解决的问题是(C)。
A.数据规范化排列B.数据高速转换
C.避免数据丢失D.切断了不同模块之间的数据的非法使用
5. 如果class类中的所有成员在定义时都没有使用关键字public、private或protected,则所有成员缺省定义为(C )。
A.public B.protected C.private D.static
6. 关于内联成员函数,以下说法错误的是:(D )。
A. 为了提高运行时的效率,对于较简单的函数可以声明为内联形式。
B. 内联函数体中不要有复杂结构(如循环语句和switch语句)。
C. 将函数体放在类的声明中或使用inline 关键字可声明内联成员函数。
D. 内联函数的声明可以不必出现在内联函数第一次被调用之前。
7. 关于构造函数,以下说法错误的是:(B )。
A. 构造函数的作用是在对象被创建时使用特定的值构造对象,或者说将对象
初始化为一个特定的状态。在对象创建时由系统自动调用。
B. 基类的构造函数可以被派生类所继承。
C. 如果程序中未声明,则系统自动产生出一个缺省形式的构造函数。
D. 允许为内联函数、重载函数、带缺省形参值的函数。
8. 关于析构函数,以下说法错误的是:(C)。
A. 完成对象被删除前的一些清理工作。
B. 在对象的生存期结束时系统自动调用它,再释放此对象所属的空间。
C. 如果程序中未声明析构函数,编译器将自动产生一个缺省的析构函数。
D. 析构函数可以带一个或多个参数。
9. 关于C++ 标识符的作用域与可见性,以下说法错误的是:(A )。
A. 在同一作用域中,可以声明同名的标识符。
B. 块作用域中声明的对象是动态生存期的对象(习惯称局部生存期对象)。在