c++题库.docx
- 文档编号:1468529
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:68
- 大小:56.49KB
c++题库.docx
《c++题库.docx》由会员分享,可在线阅读,更多相关《c++题库.docx(68页珍藏版)》请在冰豆网上搜索。
c++题库
假定AB引用是某个变量的别名,对引用的操作就是对被引用变量的操作。
A.对
B.错
假定AB为一个类,则执行ABx;语句时将自动调用该类的无参构造函数。
A.对
B.错
构造函数用来初始化类的新对象,构造函数与类同名,返回类型只能为void。
A.对
B.错
用new动态分配的内存是在堆中分配的,而不是在栈中分配的。
A.对
B.错
使用关键字class定义的类中缺省的访问权限是私有(private)的。
A.对
B.错
在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。
A.对
B.错
C++语言的标识符是不区分大小写的。
A.对
B.错
作用域运算符(:
:
)只能用来限定成员函数所属的类。
A.对
B.错
声明对象时,类名前面不需要加class关键字。
A.对
B.错
C++程序一般应当含有main函数,它是C++程序执行的入口。
A.对
B.错
可以在类的构造函数中对静态数据成员进行初始化。
A.对
B.错
C++语言中,既允许单继承,又允许多继承。
A.对
B.错
派生类的继承方式有两种:
公有继承和私有继承。
A.对
B.错
多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。
A.对
B.错
类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。
A.对
B.错
构造函数和析构函数都不能重载。
A.对
B.错
在基类中被声明为虚函数的类的成员函数必须在每个派生类中显式声明为虚函数,才能具有多态的特征。
A.对
B.错
关于运算符重载,运算符函数的返回类型不能声明为基本数据类型。
A.对
B.错
将类的一个对象赋值给该类的另一个对象时,调用拷贝构造函数。
A.对
B.错
模板可以使程序对任何数据类型进行同样方式的处理。
A.对
B.错
1.编译源文件后产生的文件是( )。
A.目标文件
B.可执行文件
C.源文件
D.头文件
2.每个C++程序只能有一个( )。
A.全局变量
B.函数
C.头文件
D.主函数
3.使用内联函数的好处是( )。
A.增加函数调用次数
B.提高代码执行效率
C.减少代码量,增强代码可读性
D.隐藏内部实现
4.下列不是函数重载所要求的条件是( )。
A.函数名相同
B.函数返回值类型不同
C.参数类型不同
D.参数个数不同
5.下列哪两个函数为重载函数( )。
A.voida1(),voida2()
B.intb(intx),floatb(intx)
C.charc(doubley),charc(inty,doublez)
D.boold(doubley),boold(doubley,intx=0)
6.在面对对象方法中,实现信息隐蔽依靠的是( )。
A.对象的封装
B.对象的继承
C.对象的多态
D.对象的分类
7.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( )。
A.类
B.对象
C.函数体
D.数据块
8.下列关于类定义的说法中,正确的是( )。
A.在类里定义的函数为内联函数
B.类成员的默认访问权限是保护的
C.数据成员必须被声明为私有的
D.成员函数只能在类体外进行定义
9.关于类和对象不正确的说法是( )。
A.类是一种类型,它封装了数据和操作
B.对象是类的实例
C.一个类的对象只有一个
D.一个对象必属于某个类
10.结构体中定义的成员默认的访问属性为( )。
A.public
B.private
C.friend
D.protected
11.类中定义的成员默认的访问属性为( )。
A.public
B.private
C.friend
D.protected
12.有关构造函数的叙述不正确的是( )。
A.构造函数名必须和类名一致
B.构造函数在定义对象时自动执行
C.构造函数无任何函数类型
D.在一个类中构造函数有且仅有一个
13.下列关于析构函数的描述中,错误的是( )。
A.析构函数可以重载
B.析构函数由系统自动调用
C.每个对象的析构函数只被调用一次
D.每个类都有析构函数
14.通常拷贝构造函数的参数是( )。
A.对象名
B. 对象的成员名
C.对象的引用名
D.对象的指针名
15.在类外定义成员函数时,需要在函数名前加上( )。
A.类名
B.对象名
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:
:
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
24.关于友元函数的描述中,错误的是( )。
A.友元函数是成员函数
B.友元函数能访问类中私有成员
C.友元函数破坏封装性
D.友元函数声明在类体内
25.如果类A是类B的友元,则( )。
A.类 A 的成员是类 B 的成员
B.类 B 的成员是类 A 的成员
C.类 A 的成员函数可以访问类 B 的私有成员
D.类 B 是类 A 的友元
26.已知类A是类B的友元类,类B是类C的友元类,则( )。
A.类 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
C.3
D.4
28.要定义一个引用变量p使之引用类MyClass的一个对象,正确的定义语句是( )。
A.MyClassp = MyClass;
B.MyClassp = newMyClass;
C.MyClass &p = newMyClass;
D.MyClassa, &p = a;
29.关于this指针的说法不正确的是( )。
A.不能在程序中修改this指针
B.this指针可以给其他指针赋值,但不能修改this指针
C.静态成员函数中没有this指针
D.this指针可以被赋值
30.关于C++的动态存储分配,下列说法正确的是( )。
A.new和delete是C++语言中专门用于动态内存分配和释放的函数
B.动态分配的内存空间也可以被初始化
C.当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间
D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new
31.观察程序
#include
usingnamespacestd;
intmain(){
int*first,*second;
first=newint[5];
second=first;
delete[]second;
delete[]first;
return0;
}
该程序是否正确,原因是什么?
A.正确,因为first和second都是独立的指针变量
B.不正确,因为first和second是相关而非独立的指针变量
C.正确,second会拷贝first的内容
D.不正确,second和first指向相同的内容
32.C++中,不能被派生类继承的有(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 题库
