-
一、填空题
1
、在类中必须声明成员函数的
( )
,成员函数的
( )
部分可以写在类外。
[
答案
]
原型
实现
2
、如 果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该是
(
)
类型或(
)类型。
[
答案
]
引用
指针
3
、
(
)类只能作为基类使用,而不能声明它的对象。
[
答案
]
抽象
4
、拷贝构造函数的形参必须是(
)
[
答案
]
本类对象的引用
5
、进行函数重载时 ,被重载的同名函数如果都没有用
const
修饰,则它们的形参(
)
(
)
必须不同。
[
答案
]
个数
类型
6
、通过一个(
)对象只能调用它的常成员函数,不能调用其他成员函数。
[
答案
]
常
二、选择题
1
、编译时多态性使用什么获得?(
A
)
A.
重载函数
B.
继承
C.
虚函数
D. B
和
C
2
、假定
MyClass
为一个类,则该类的拷贝构造函数的声明语句为(
C
)
。
A
.
MyClass(MyClass x)
B
.
MyClass&(MyClass x)
C
.
MyClass(MyClass &x)
D
.
MyClass(MyClass *x)
3
、列带缺省值参数的函数说明中,正确的说明是(
C
)
1.
???????
A. int Fun(int x=1, int y, int z=3);
B. int Fun(int x, int y=2, int z);
C. int Fun(int x, int y, int z=3);
D. int Fun(int x=1, int y, int z);
4
、下列有关函数重载的叙述中,错误的是
(A)
A.
函数重载就是用相同的函数名定义多个函数
B.
重载函数的参数列表必须不同
C.
函数的返回值类型不能用于对重载函数的区分
或
关键字可以用于对重载函数的区分
5
、
在一个函数中,
要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选
用(A
)
。
A.
内联函数
B.
重载函数
C.
递归调用
D.
嵌套调用
6
、下列有关
C++
类的说法中 ,不正确的是(
C
)
。
A.
类是一种用户自定义的数据类型
B.
只有类中的成员函数或类的友元函数才能存取类中的私有成员
C.
在类中,如果不做特别说明,所有成员的访问权限均为私有的
D.
在类中,如果不做特别说明,所有成员的访问权限均为公用的
7、
Sample
是一个类
,
执行下面语句后
,
执行Sample
类的构造函数的次数是
(D)
Sample
a[3],
*p=new Sample;
A.1
B.2
C.3
D.4
8
、关于常数据成员的说法,不正确的是(
D
)
。
A
.
常数据成员的定义形式与一般常变量的定义形式相同,
只不过常数据成 员的定义必须出
现在类体中
B
.常数据成员必须进行初始化,并且不能被更新
C
.常数据成员通过构造函数的成员初始化列表进行初始化
D
.常数据成员可以在定义时直接初始化
9
、下面描述中,表达错误的是(
B
)
A.
公用继承时基类中的
public
成员在派生类中仍是
public
的
B.
公用继承时基类中的
private
成员在派生类中仍是< br>private
的
C.
公用继承时基类中的
pro tected
成员在派生类中仍是
protected
的
D.
私有继承时基类中的
public
成员在派生类中是
private< br>的
10
、下面(
B
)的叙述不符合赋值兼容规则。
A.
派生类的对象可以赋值给基类的对象
B.
基类的对象可以赋值给派生类的对象
C.
派生类的对象可以初始化基类的对象
D.
派生类的对象的地址可以赋值给指向基类的指针
11
、关于虚函数的描述中,
(
C
)是正确的。
A.
虚函数是一个
static
类型的成员函数
B.
虚函数是一个非成员函数
C.
基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数
D.
派生类的虚函数与基类的虚函数具有不同的参数个数和类型
12
、下面关于友元的描述中,错误的是(
D
)
。
A.
友元函数可以访问该类的私有数据成员
B.
一个类的友元类中的成员函数都是这个类的友元函数
C.
友元可以提高程序的运行效率
D.
类与类之间的友元关系可以继承
13
、
下列关于静态数据成员的说法,不正确的是(
C
)
。
A.
类中定义的公用静态数据成员,可以通过类的对象来访问
B.
类中定义的所有静态数据成员,都必须在类外初始化
C.
静态数据成员不是所有对象所共用的
D.
普通的成员函数可以直接访问类中的静态数据成员
14
、下列关于模板形参的描述中
,
错误的是
(B)
A.
模板形参表必须在关键字
template
之后
B.
模板形参表必须用括弧
()
括起来
C.
可以用
class
修饰模板形参
D.
可以用
typename
修饰模板形参
15
、任意一个类,析构函数的个数最多是:
(B)
A.
不限个数
B. 1
C. 2
D. 3
16
、下列有关类继承的叙述中,错误的是
(D)
A.
继承可以实现软件复用
B.
虚基类可以解决由多继承产生的二义性问题
C.
派生类构造函数要负责调用基类的构造函数
D.
派生类没有继承基类的私有成员
17
、下列有关抽象类和纯虚函数的叙述中,错误的是
(D)
A.
拥有纯虚函数的类是抽象类,不能用来定义对象
B.
抽象类的派生类若不实现纯虚函数,它也是抽象类
C.
纯虚函数的声明以“
=0;
”结束
D.
虚函数都不能有函数体
18
、考虑下面的函数原型声明:
void testDefaulParam(int a,int b=7,char z='*');
下面
函数调用中,不合法的是(
C
)
。
A. testDefaulParam(5);
testDefaulParam(5,8);
faulParam(5,'#');
testDefaulParam(0,0,'*');
19
、要实现动态联编必须
(D)
通过成员名限定来调用虚函数
B.
通过对象名来调用虚函数
C.
通过派生类对象来调用虚函数
D.
通过对象指针或引用来调用虚函数
20
、下列语句中,将函数
int sum(int x, int y)
正确重载的是(
C
)
。
A. float sum(int x, int y);
B. int sum(int a, int b);
C. float sum(float x, float y);
D. double sum(int y, int x);
21
、在派生类中定义虚函数时,可以与基类中相应的虚函数不同的是
(D)
A.
参数类型
B.
参数个数
C.
函数名称
D.
函数体
22
、下列有关类成员的叙述中,正确的是
(B)
A.
友元函数是类的成员函数
B.
类成员的默认访问权限是私有的
C.
类成员函数必须声明为公有的
D.
类的静态数据成员不能是常成员
23
、
已知:
print(
)
函数是一个类的常成员函数 ,
它无返回值,下列表示中,
(
A
)是正确的。
A. void print( ) const;
B. const void print( );
C. void const print( );
D. void print(const);
24
、运用运算符
delete
删除一个动态对象时(
C
)
。
A
.系统首先为该动态对象调用构造函数,再释放其占用的内存
B
.系统首先释放该动态对象占用的内存,再为其调用构造函数
C
.系统首先为该动态对象调用析构函数,再释放其占用的内存
D
.系统首先释放动态对象占用的内存,再为其调用析构函数
25
、
可以在类外用
p.a
的形式访问派生类对象
p
的基类成员
a
,其中
a
是(
D
)
。< br>
A
.私有继承的公用成员
B
.公用继承的私有成员
C
.公用继承的保护成员
D
.公用继承的公用成员
26
、在公用继承方式 下,有关派生类对象和基类对象的关系,不正确的叙述是(
C
)
。
A
.派生类的对象可以赋给基类的对象
B
.派生类的对象可以初始化基类的引用
C
.派生类的对象可以直接访问基类中的成员
D
.派生类的对象的地址可以赋给指向基类的指针
27
、模板的使用实际上是将类模板实例化成一个(
C
)
。
A
.函数
B
.对象
C
.类
D
.抽象类
28
、拷贝构造函数的参数通常是(
C
)
。
A.
无特殊要求
B.
指向对象的指针
C.
自已类对象的常引用
D.
对象
29
、下面关于类的成员函数描述不正确的是:
(A)
A
静态成员函数内可以直接访问类的非静态成员数据
B
静态成员函数内可以直接访问类的静态成员数据
C
非静态成员函数可以直接访问类的非静态成员数据
D
非静态成员函数可以直接访问类的静态成员数据
30
、说明内联函数的关键字是(
A
)
。
A. inline
B. virtual
C. define
D. static
31
、下面的哪个保留字不能作为函数的返回类型?(
C
)
A. void
B. int
C. new
D. long
32
、基类和派生类可以分别称为(
B
)
。
A.
“大类”和“小类”
B.
“父类”和“子类”
C.
“小类”和“大类”
D.
“子类”和“父类”
33
、面向对象程序设计思想的主要特征中不包括(
D
)
。
A.
封装性
B.
多态性
C.
继承性
D.
功能分解,逐步求精
34
、设置虚基类的目的是(
B
)
。
A.
简化程序
B.
消除二义性
C.
提高运行效率
D.
减少目标代码
35
、下面说法中,正确的是(
B
)
A.
一个类只能定义一个构造函数,但可以定义多个析构函数
B.
一个类只能定义一个析构函数,但可以定义多个构造函数
C.
构造函数与析构函数同名,只要名字前加了一个求反符号(
~
)
D.
构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是
vo id
类型也
不可以
36
、如果一个类至少有一个纯 虚函数,那么就称该类为(
A
)
。
A
.抽象类
B
.派生类
C
.纯基类
D
.以上都不对
37
、下面关于友元的描述中,错误的是(
D
)
。
A
.友元函数可以访问该类的私有数据成员
B
.一个类的友元类中的成员函数都是这个类的友元函数
C
.友元可以提高程序的运行效率
D
.类与类之间的友元关系可以继承
38
、假定
Cab
为一个类,则执行
Cab obj
;语句时将自动调用该类的(
B
)
A.
有参构造函数
B.
无参构造函数
C.
拷贝构造函数
D.
赋值重载函数
39
、下面对模板的声明,正确的是(
C
)
。
A. template
B. template
C. template
D. template
40
、在
C++
程序中,对象之间的相互通信通过
(B)
A.
继承实现
B.
调用成员函数实现
-
-
-
-
-
-
-
-
本文更新与2021-01-26 08:53,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/570979.html
-
上一篇:第 4 章数据结构习题题目及答案 串
下一篇:英语调查报告范文