C++程序设计期末考试(B)
一、单项选择题 (每题 2 分,共 12 分)
1. 关于构造的叙述正确的是__________
A. 最先构造虚基类 B. 最先构造基类
C. 最先构造派生类的对象成员 D. 都不对
2. 建立派生类对象时,3 种构造函数分别是 a(基类的构造函数)、b(成员对象的
构造函数)、c(派生类的构造函数)这 3 种构造函数的调用顺序为________。
A. abc B. acb C. cab D. cba
3. 使用 friend、virtual、static 说明函数的叙述正确的是___________
A. 必须同时使用三个 B. 只能同时使用其中两个
C. 只能独立单个使用 D. 都不对
4. 下面对静态数据成员的描述中,正确的是________。
A.静态数据成员可以在类体内进行初始化
B.静态数据成员不可以被类的对象调用
C.静态数据成员不能受 private 控制符的作用
D.静态数据成员可以直接用类名调用
5. 一个类的友元函数能够访问该类的________。
A.私有成员 B.保护成员 C.公有成员 D.所有成员
6. 假 定 AB 为 一 个 类 , 则 该 类 的 拷 贝 构 造 函 数 的 声 明 语 句 为 ________ 。
A. AB &(AB x) B. AB(AB x)
C. AB(AB &) D. AB(AB * x)
二、简答题(每题 5 分,共 20 分)
1. 指出面向对象编程的四大主要特点及各自含义?
2. 什么是重载函数,怎样区分?
3. 解释 Public, Private 和 Protected 的联系与区别?
4. 什么是析构函数, 它和构造函数的区别是什么?
三、指出下列各成员在不同类中的访问属性(共 10 分)
class A class B: Protected A class C: Public B
{ public: { public: { public:
int a; void f2 (); void f4();
protected: protected: private:
void f1 (); void f3(); int d;
private: };
private: int c;
int b; };
};
四、看程序,写结果。(每题 7 分,共 21 分)
1、#include<iostream.h>
class A
{public: A() { cout<< 'A';} };
class B
{public: B() { cout<< 'B';} };
class C:public A
{public: C() { cout<< 'C';} };
class D:virtual public B,public C
{public: D() { cout<< 'D';} };
class E:public A
{ Public: C c; E() { cout<< 'E';} };
Class F:virtual public B,public D,public E
评论0
最新资源