练习题综合 下载本文

3)类之间是一种层次结构; 上述中正确的是 A: 1)、2) B: 2)、3) C: 1)、3) D: 1)、2)、3)

序号:374 难度:1 考查点:继承与派生

82. (分值:0.2 分)下面哪些对象属于继承与派生的关系:1)交通工具与汽车 与轮胎 3)动物与老虎 4)电脑与内存 A: 1)和 2) B: 3)和 4) C: 1)和 3) D: 2)和 4)

序号:375 难度:1 考查点:继承与派生

83. (分值:0.2 分)关于运算符重载,下列表述中正确的是( A: C++已有的任何运算符都可以重载

B: 运算符函数的返回类型不能声明为基本数据类型 C: 在类型转换符函数的定义中不需要声明返回类型 D: 可以通过运算符重载来创建 C++中原来没有的运算符 序号:376 难度:1 考查点:重载

84. (分值:0.2 分)设有基类定义:

class cBase

{

private: int a;

protected: int b;

public: int c;

};

派生类采用( 成员。

A: 私有继承 B: 保护继承 C: 公有继承 D: 都可以

序号:377 难度:1 考查点:继承与派生

85. (分值:0.2 分)以下哪个基类中的成员函数表示纯虚函数________。 A: virtual void tt()=0; B: void tt(int)=0; C: virtual void tt(int); D: virtual void tt(int){ };

序号:385 难度:1 考查点:多态性与虚函数

)继承方式可以使成员变量 b 成为自己的私有

)。

2)汽车

86. (分值:0.2 分)设有以下定义:

#include

class A1

{

public:

void

show1()

{ cout<<\ A1\ }

};

class A2: public A1

{

public:

void show2( ) { cout<<\ protected A2

{

public:

void show3( ) { cout<<\ A3\ }

};

void main() A1 obj1; A2 obj2; A3

{

obj3;

...

}

以下不合法的调用语句是( )。

A: obj1.show1(); B: obj2.show1(); C: obj3.show1(); D: obj2.show2();

序号:386 难度:1 考查点:继承与派生

87. (分值:0.2 分)下面正确的说法是________。 A: 关键字 virtual 只能用来声明虚函数 B: 声明虚函数时,才使用关键字 virtual C: 关键字 virtual 不能用来声明虚基类 D: 关键字 virtual 能用来声明虚基类

序号:389 难度:1 考查点:多态性与虚函数

88. (分值:0.2 分)下列关于运算符重载的描述中,正确的是_______。 A: 运算符重载可以改变操作数个数 B: 运算符重载可以改变优先级 C: 运算符重载可以改变结合性 D: 运算符重载不可以改变语法结构 序号:391 难度:1 考查点:重载

89. (分值:0.2 分)在下列运算符中,不能重载的是________。 A: <= B: >> C: :: D: &=

序号:392 难度:1 考查点:重载

90. (分值:0.2 分)vehicle 类已定义,对于以下派生类的定义语句:

class car:public vehicle

{

private:

char *model;

int wheelNo;

};

指出针

对该定义的正确说法是( )。

A: vehicle 类是 car 类的一个子类,因而它可以被继承 B: car 类是父类,vehicle 类是子类

C: 在 car 类中定义的成员 model 和 wheelNo 会删除 vehicle 类中同名的成员

D: car 类是 vehicle 类的一个派生类,它可以继承 vehicle 类中除构造函数和析构函数以外的 所有成员

序号:393 难度:1 考查点:继承与派生

91. (分值:0.2 分)下面叙述不正确的是________。 A: 成员的访问能力在私有派生类中和公有派生类中是不同的 B: 基类的私有成员在公有派生类中不可访问 C: 赋值兼容规则不是用于多重继承的组合 D: 基类公有成员在保护派生中是保护的 序号:394 难度:1 考查点:继承与派生

92.(分值:0.2 分)已知类 A 是类 B 的基类,类 B 是类 C 的基类,执行以下语句:

C c1;

则它们的构造函数一共会被调用( A: 1 次 B: 2 次 C: 3 次 D: 多次

序号:395 难度:1 考查点:继承与派生

)。

93. (分值:0.2 分)设置虚基类的目的是( A: 简化程序 B: 消除二义性 C: 提高运行效率 D: 减少目标代码

序号:396 难度:1 考查点:继承与派生

94. (分值:0.2 分)有如下类定义:

class A

{

public:

C

{ };

现定义 D 类对象 d,则以下正确的是( A: d.x=5; B: 出现二义性

C: 会调用 5 次构造函数 D: 都不对

序号:400 难度:1 考查点:继承与派生

95. (分值:0.2 分)在多重继承中,公有派生和私有派生对于基类成员在派生类中的访问 性与单一继承的规则( A: 相同 B: 不同

C: 部分相同,部分不同 D: 都不对

序号:402 难度:1 考查点:继承与派生

)。

)。

int x;

};

class

)。

B : virtual public A

{ };

class C : virtual public A

{};

class D : public B, public

96. (分值:0.2 分)下面叙述不正确的是( A: 派生类一般都用公有派生

B: 对基类成员的访问必须是无二义性的 C: 赋值兼容规则也适用于多重继承的组合 D: 基类的公有成员在派生类中仍然是公有的 序号:404 难度:1 考查点:继承与派生

)。

97. (分值:0.2 分)能被派生类继承的函数是( A: 静态成员函数 B: 构造函数 C: 析构函数

)。

D: 复制的构造函数

序号:406 难度:1 考查点:继承与派生

98. (分值:0.2 分)不论派生类以何种方式继承,都不能使用基类的( A: 公有成员 B: 私有成员 C: 保护成员

D: 公有成员和保护成员

序号:407 难度:1 考查点:继承与派生

)。

99. (分值:0.2 分)下面关于继承的描述中,错误的是________。 A: 继承描述的是类的层次关系,派生类可以具有与基类相同的属性和方法 B: 一个基类可以有多个派生类,一个派生类可以有多个基类 C: C++有两种继承包括单一继承和多重继承 D: 静态成员不可以被继承

序号:408 难度:1 考查点:继承与派生

100. (分值:0.2 分)在 C++中,类与类之间的继承关系具有________。 A: 自反性 B: 对称性 C: 传递性 D: 规律性

序号:410 难度:1 考查点:继承与派生

101. (分值:0.2 分)下列运算符中全都可以被友元函数重载的是( A: =,+,-,\\ B: [],+,(),new C: ->,+,*,>> D: <<,>>,+,*

序号:412 难度:1 考查点:重载

102. (分值:0.2 分)假定要对类 AB 定义加号操作符重载成员函数,实现两个 AB 类对象 的加法,并返回相加结果,则该成员函数的声明语句为( A: AB operator+(AB &a, AB &) B: AB operator+(AB &) C: opetacor+(AB a) D: AB &operator+( )

序号:413 难度:1 考查点:重载

103. (分值:0.2 分)假设类 X 以类 Y 作为它的一个基类,并且 X 类的名字 func()支配 Y 类的名字 func(),obj 为类 X 的对象,则 obj.func()语句实现的功能为________。 A: 先执行类 X 的 func(),再执行访问类 Y 的 func() B: 先执行类 Y 的 func(),再执行访问类 X 的 func() C: 执行类 X 的 func()

)。

)。

D: 执行类 Y 的 func()

序号:414 难度:1 考查点:继承与派生

104. (分值:0.2 分)以下叙述错误的是( B: 基类的保护成员在派生类中仍然是保护成员 C: 基类的保护成员在私有派生中是私有成员 D: 基类的保护成员不能被派生类的对象访问 序号:418 难度:1 考查点:继承与派生

)。

A: 基类的保护成员在公有派生类中仍然是保护成员

105. (分值:0.2 分)下列关于 C++流的说明中,正确的是( A: 与键盘、屏幕、打印机和通信端口的交互都可以通过流类来实现

B: 从流中获取数据的操作称为插入操作,向流中添加数据的操作称为提取操作 C: cin 是一个预定义的输出流类

D: 输出流有一个名为 open 的成员函数,其作用是生成一个新的流对象 序号:424 难度:1 考查点:输入输出流

)。

106. (分值:0.2 分)一个函数为 void f(int, char ch='a'),另一个函数为 void f( int ),则它 们( )。 A: 不能在同一程序中定义 B: 可以在同一程序中定义并可重载 C: 可以在同一程序中定义,但不可以重载 D: 其他三种说法均不正确

序号:428 难度:1 考查点:重载

107. (分值:0.2 分)下列是重载乘法运算符的函数原型声明,其中错误的是 ( A: MyClass operator*(double, double) ; B: MyClass operator*(double, MyClass); C: MyClass operator*(MyClass,double); D: MyClass operator*(MyClass, MyClass); 序号:429 难度:1 考查点:重载 108. (分值:0.2 分)( A: * B: = C: = 和 * D: * 和 ++

序号:430 难度:1 考查点:重载

) 既可重载为一元运算符,又可重载为二元运算符。

)。

109.(分值:0.2 分)在派生类中定义虚函数时,可与基类中相应的虚函数不同的是________。 A: 参数类型 B: 参数个数 C: 函数名称 D: 函数体