c++题库.docx
- 文档编号:11755786
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:80
- 大小:211.61KB
c++题库.docx
《c++题库.docx》由会员分享,可在线阅读,更多相关《c++题库.docx(80页珍藏版)》请在冰豆网上搜索。
c++题库
假定AB引用是某个变量的别名,对引用的操作就是对被引用变量的操作。
色A.对
◎
假定AB为一个类,则执行ABX;语句时将自动调用该类的无参构造函数。
回A.对
CB.错
构造函数用来初始化类的新对象,构造函数与类同名,返回类型只能为void。
口A.对
电BE
用new动态分配的内存是在堆中分配的,而不是在栈中分配的。
°A.对
BE
private)的。
使用关键字class定义的类中缺省的访问权限是私有(
在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。
A.对
C++语言的标识符是不区分大小写的。
口A.对
A.对
声明对象时,类名前面不需要加class关键字。
岡A.对
戸B.错
C++程序一般应当含有main函数,它是C++程序执行的入口。
WB.错
可以在类的构造函数中对静态数据成员进行初始化。
A.对
C++语言中,既允许单继承,又允许多继承。
同A.对
BE
派生类的继承方式有两种:
公有继承和私有继承。
rj]
A.对
B.错
多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。
A.对
已B.错类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。
A.对
B.错
构造函数和析构函数都不能重载。
才能具有
在基类中被声明为虚函数的类的成员函数必须在每个派生类中显式声明为虚函数,多态的特征。
拥A.对
切B.错
关于运算符重载,运算符函数的返回类型不能声明为基本数据类型。
垃IA.对
岡B.错
将类的一个对象赋值给该类的另一个对象时,调用拷贝构造函数。
A•对
*BE
模板可以使程序对任何数据类型进行同样方式的处理。
UA.对
B.错
1.编译源文件后产生的文件是()。
同A.目标文件
B.可执行文件
因C.源文件
°D.头文件
2.每个C++程序只能有一个()。
A.全局变量
B.函数
CI
C.头文件
*D.主函数
A•增加函数调用次数
呵B.提高代码执行效率
C.减少代码量,增强代码可读性
D.隐藏内部实现
4•下列不是函数重载所要求的条件是()。
鼻A.函数名相同
*B.函数返回值类型不同
皿C.参数类型不同
D.参数个数不同
5.下列哪两个函数为重载函数()。
A.voida1(),voida2()
B.intb(intx),floatb(intx)
C.charc(doubley),charc(inty,doublez)
c
D.boold(doubley),boold(doubley,intx=0)
6.在面对对象方法中,实现信息隐蔽依靠的是()。
*A.对象的封装
pl
B.对象的继承
'C.对象的多态
D.对象的分类
7.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()。
A.类
B.对象
财C.函数体
垃1D.数据块
8.下列关于类定义的说法中,正确的是()。
*A.在类里定义的函数为内联函数
B.类成员的默认访问权限是保护的
C.数据成员必须被声明为私有的
已D.成员函数只能在类体外进行定义
9.
关于类和对象不正确的说法是()。
C.friend
D.protected
11.类中定义的成员默认的访问属性为(
A.public
B.private
C.friend
D.protected
12.有关构造函数的叙述不正确的是(
F'1
A.构造函数名必须和类名一致
B.构造函数在定义对象时自动执行
C.构造函数无任何函数类型
E
D.在一个类中构造函数有且仅有一个
13.
下列关于析构函数的描述中,错误的是()。
A.析构函数可以重载
B.析构函数由系统自动调用
C.每个对象的析构函数只被调用一次
Cl
D.每个类都有析构函数
14.
通常拷贝构造函数的参数是()。
r
仁
A.对象名
B.对象的成员名
E
C.对象的引用名
r
D.对象的指针名
15.
在类外定义成员函数时,需要在函数名前加上()。
r
A.类名
r
B.对象名
C囲
C.作用域运算符
D.类名和作用域运算符
16.
在类疋义中,为说明成员的访冋权限,private,protected,public可以出现次数()。
A.次数没有具体限制
厂.
厂
B.每种至多一次
剧C.public至少一次
炒D.每种至少一次
17.关于静态数据成员的描述中错误的是()。
A.类的静态数据成员是该类所有对象所共享的
耐B.类的静态数据成员在在该类每个对象中都保留一个备份
C.类的静态数据成员必须进行初始化
已D.类的静态数据成员可以不通过对象来访问
18.若一个类的数据成员用const关键字修饰,则该数据成员()。
A.静态函数中可以对该成员赋值
同B.构造函数只能通过初始化列表对该成员初始化
C.任何函数都不能使用该成员
因D.外部函数可以对该成员赋值
19.有两个类X和Y,且丫有一个构造函数Y:
:
Y(Xx);那么以下语句:
Xa;
Yb(a);
不会调用下面的哪个函数()。
A.Y的构造函数Y(Xx)
口B.Y的拷贝(复制)构造函数
C.X的默认构造函数
D.X的拷贝(复制)构造函数
20.已知类A的定义。
假设x为A的对象,则在类外访问x对象中数据成员a和b分
别应采用()。
classA{
private:
inta;
public:
intgetValue(){
returna;
}
intb;
};
A.x:
:
getValue(),x:
:
b
B.x.a,x.b
皿C.x.a(),x.b()
D.x.getValue(),x.b
21•假设程序中先前已经定义了A、B、C三个类,他们的构造函数分别会输出Aconstructed、
Bconstructed和Cconstructed,那么又定义了类D,并在main函数中定义了一个D类的对象,部分代码如下:
classD{
public:
D():
a(),b(),c(){}
private:
Aa;
Bb;
Cc;
};
intmain(){
Dd;
return0;
}
程序的输出结果为()。
A.AconstructedBconstructedCconstructed
B.CconstructedBconstructedAconstructed
财C.编译错误
炒D.编译器决定
22.已知类CA中的某个成员是类CB的对象,若要把这两个类定义在同一个文件中,则()°
均A.CA必须定义在CB之前
诩B.CB必须定义在CA之前
心C.若CA定义在CB之后,则CA的声明必须出现在CB的定义之前
口D.若CB定义在CA之后,则CB的声明必须出现在CA的定义之前
23.在设计一个类的时候,如果希望允许一个不属于该类的函数访问该类的私有成员,应该使用哪个关键字()°
A.
public
B.private
C.friend
D.protected
关于友元函数的描述中,错误的是()。
A.友元函数是成员函数
B.友元函数能访问类中私有成员
C.友元函数破坏封装性
D.友元函数声明在类体内
如果类A是类B的友元,则()。
A.类A的成员是类B的成员
B.类B的成员是类A的成员
C.类A的成员函数可以访问类B的私有成员
D.类B是类A的友元
26.已知类A是类B的友元类,类B是类C的友元类,则()。
dA.类A一定是类C的友元
B.类C一定是类A的友兀
C.类C的成员函数可以访问类B的对象的任何成员
‘D.类A的成员函数可以访问类B的对象的任何成员
27.已知Point类含有无参(默认)构造函数和有参构造函数,使用Pointa[3]={Point(1,2),
Point(3,4),Point()};时,调用了()次Point类的无参(默认)构造函数。
A.1
B.2
CI
C.3
D.4
28.
要疋义一个引用变量p使之引用类MyClass的一个对象,正确的疋义语句是()。
r
A.MyClassp=MyClass;
QI
B.MyClassp=newMyClass;
r
C.MyClass&p=newMyClass;
K
D.MyClassa,&p=a;
29.
关于this指针的说法不正确的是()。
u
A.不能在程序中修改this指针
r
B.this指针可以给其他指针赋值,但不能修改this指针
C囲
C.静态成员函数中没有this指针
D.this指针可以被赋值
30.
关于C++的动态存储分配,下列说法正确的是()。
c
A.new和delete是C++语言中专门用于动态内存分配和释放的函数
B.动态分配的内存空间也可以被初始化
C.当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用
delete释
放内存空间
D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用
31.观察程序
#include
usingnamespacestd;
intmain(){
int*first,*second;
first=newint[5];
second=first;
delete[]second;
delete[]first;
return0;
}
该程序是否正确,原因是什么?
new
A.正确,因为first和second都是独立的指针变量
DB.不正确,因为first和second是相关而非独立的指针变量
C.正确,second会拷贝first的内容
D.不正确,second和first指向相同的内容
32.C++中,不能被派生类继承的有()。
A.析构函数
B.虚函数
C.静态成员函数
D.友元函数
F列关于派生类的叙述中,错误的是(
)。
财A.派生类至少要有一个基类
炒B.派生类中包括了从基类继承的成员
炒C.一个派生类可以作为另一个派生类的基类
*D.基类成员被派生类继承以后访问权限保持不变
34.下列关于类型转换正确的是()。
A.基类的对象可以被当作公有派生类对象使用
因B.派生类对象必须显式的转换为基类对象
*C.派生类对象可以初始化基类的引用
㈡D.基类的指针可以隐含转换为派生类的指针
35.下列关于虚基类的描述中,错误的是()。
A.使用虚基类可以消除由多继承产生的二义性
已B.构造派生类对象时,虚基类的构造函数只被调用一次
°C.声明“classB:
virtualpublicA说明类B为虚基类
©D.建立派生类对象时,首先调用虚基类的构造函数
36.以下说法正确的是()。
冈A.同一个运算符可以被重载多次
B.可以通过运算符重载来创建C++中原来没有的运算符
'C.自增运算符重载时,重载函数不允许有输入参数
D.运算符函数的返回类型不能声明为基本数据类型
37.若A是一个类名,则如下语句将会产生的A对象个数为()。
Aa1,*a2;
A*a3=newA();
A&a4=a1;
B.2
C.3
诃D.4
38.类C2是类C1的派生类,下列说法中错误的是(
A.C1的成员都是C2的成员
因B.C2的对象可以赋值给C1的变量
*C.C1的友元函数都是C2的友元函数
D.创建C2的对象时,要执行C1的构造函数
39.若类A和类B都是类模板T的模板类,则以下说法正确的是()。
A.A的友元函数中,可以访问B的私有成员
心B.A的对象可以赋值给B类型的变量
◎C.A和B共享T的静态成员变量
*D.A的成员函数中,不能访问B的私有成员
40.若类B是从类A派生而来,而语句p.Do();在被多次执行时,有的时候调用的是类Do成员函数,有的时候调用的是类B的Do成员函数,那么p的类型可以是()
A.A&
B.A*
D.A
41.
将一个对象放入STL中的容器里时,
B.实际上被放入的是该对象的指针
C.实际上被放入的是该对象的引用
垃1D.实际上被放入的就是该对象自身
42.以下说法正确的是()。
诩A.在multiset容器中,可以同时存储多个相同的元素
垃!
B.在set容器中,各元素的存储位置取决于它们的插入顺序胡C.向deque容器添加新对象时,需要比较对象的大小因D.在list容器中,各元素的存储位置取决于它们的值
43.若有如下定义:
set
:
iteratorit1,it2,it3;
set
则以下语句不符合语法的是()。
因A.it1++;
°B.--it2;
倒1
C.it3=it1+1;
D.boolisEnd=(it1==s.end());
44.关于函数对象,如下说法中正确的是()。
*A.如果一个类重载了“(运算符,该类的对象是函数对象
口B.如果一个类定义了函数指针成员变量,则该类的对象是函数对象
C.函数对象类中只能定义成员函数,不能定义成员变量
R
D.函数对象类只能定义一个函数对象
45.有如下两个类定义:
classAA{};
classBB{
AAv1,*v2;
BBv3;
ci
46.
1
2
3
4
5
6
7
8
9
10
11
12
口
47.
1
2
intv4;
其中有一个成员变量的定义是错误的,这个变量是(
A.v1
B.v2
C.v3
D.v4
对于如下代码,请指出错误的代码行号是()°
classA{
public:
A(inta=0){
x=a;
}
staticvoidf1(){
x++;
};
private:
int兀
staticinty;
};
A.3
B.4
C.7
D.11
对于如下代码
classB{
public:
3voidf(){}
4voidg(){f();}
5}
6classD:
publicB{
7public:
8voidf(){}
9voidg(){B:
:
f()}
10}
11intmain(){
12Bb,pb=&b;
13Dd,pd=&d;
14b.f();
15pd->f();
16return0;
17}
其中第14行代码和第15行代码分别调用的是()。
A.B:
:
f()与D:
:
f()
B.B:
:
f()与B:
:
f()
C.D:
:
f()与D:
:
f()
°D.D:
:
f()与B:
:
f()
48.以下程序的输出结果是()。
#include
usingnamespacestd;
classA{
public:
A(inta1,inta2):
a1(a1),a2(a2){}
voidprint();
voidprint()const;
private:
inta1,a2;
};
voidA:
:
print(){
cout< } voidA: : print()const{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 题库