C++选择题 求高手解答

一、选择题
1、下列对派生类的描述中,( )是错误的。
① 一个派生类可以作为另一个派生类的基类
② 派生类至少有一个基类
① 派生类的成员除了它自已的成员外,还包含了它的基类的成员
② 派生类中继承的基类成员的访问权限在派生类中保持不变
2、对基类和派生类的描述中,( )是错的。
① 派生类是基类的具体化 ② 派生类是基类的子集
③ 派生类是基类定义的延续 ④ 派生类是基类的组合
3、派生类的构造函数的成员初始化列表中,不能包含( )。
① 基类的构造函数 ② 派生类中子对象的初始化
③ 基类的子对象初始化 ④ 派生类中一般数据成员的初始化
4、设置虚基类的目的是( )。
① 简化程序 ② 消除二义性 ③ 提高运行效率 ④ 减少目标代码
5、关于子类型的描述中,( )是错的。
① 子类型就是指派生类是基类的子类型
② 一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型
③ 在公有继承下,派生类是基类的子类型
④ 子类型关系是不可逆的
6、已知一个类A,( )是指向类A成员函数的指针。假设类A有3个公有成员:
Void f1(int),void f2(int)和int a。
① A *p; ② int A::*pc=&A::a; ③ void A::*pa(); ④ A *pp;
7、已知f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针,采用( )是
正确的
① p=f1; ② p=A::f1; ③ p=A::f1(); ④ p=f1();
8、已知:p是一个指向类A数据成员m的指针,a1是类A的一个对象。如果要给m赋值
为5,( )是正确的。
① a1.p=5; ② a1->p=5; ③ a1.*p=5; ④ *a1.p=5;
9、已知类A中一个成员函数说明如下:
void Set(A&a)
其中,A&a的含意是( 3 )。
① 指向类A的指针为a
② 将A的地址值赋给变量Set
③ a是类A的对象的引用,用来作函数Set()的形参
④ 变量A与a按位相与作为函数Set()的参数
10、有以下类的说明,请指出错误的地方
class CSample
{
private:
int a=2.5; (A)
CSample; (B)
public:
CSample(int val); (C)
~CSample; (D)
};

1、③
2、①
3、③
4、 ② 消除二义性
5、①
6、③
7、4
8、3
9、3
10、B
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-06-23
一见你题 当场晕倒。。。
相似回答