单项选择题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单项选择题
1.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是。

A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
2.任意一个类,析构函数的个数最多是。

A.不限个数B.1 C.2 D.3
3.下列关于this指针的说法,哪个是正确的。

A.this指针一定指向常量型数据B.this指向的数据不可更改
C.静态成员函数中也可以访问this指针D.this指针本身可直接作为成员函数的返回值
4.在类定义中,为说明成员的访问权限,private,protected,public 可以出现次数
B.每种至多一次
C.public 至少一次D.每种至少一次
5. 类的析构函数是在。

A.创建类时调用的B.创建对象时调用的
C.删除对象时调用的D.不自动调用
6. 假定AB为一个类,则该类的拷贝构造函数的原型为。

A.AB &(AB x); B.AB(AB x);
C.AB(AB &x); D.AB(AB *x);
7.
A.构造函数可以是内联函数
C.构造函数可以设置默认参数D.构造函数在定义类的对象是自动执行
8. 假设BC为一个类,在下面构造函数的原型声明中存在着语法错误的
是。

A.BC(int a, int); B.BC(int, int);
C.int BC(int a, int b); D.BC(int, int y);
9. 类成员的访问权限不包括。

A.public B.protected C.private D.friend
10. 下列关于类和对象的描述中不正确的是。

A.一个对象只能属于一个类B.对象是类的一个实例
C.一个类只能有一个对象D.类和对象的关系与数据类型和变量的关系类似。

11. 若有如下类声明“class A{int a;};”,则A
A.public数据成员B.public成员函数D.private
成员函数
12. 在类外定义成员函数时,需要在函数名前加上。

A.类名B.对象名C.作用域运算符D.类名和作用域运算符
13. 下列关于析构函数的描述中不正确的是。

A.析构函数有且只有一个
B.析构函数可以有参数
C.析构函数没有函数类型
D.析构函数的作用是在对象被撤销时收回其内存空间
14. 下列关于析构函数特征的描述中正确的是。

A.析构函数的名字与类名完全相同
B.析构函数可以有一个或多个参数
C.一个类中可以定义多个析构函数
D.析构函数不能指定返回类型
15. 下列对于构造函数的描述中正确的是。

A.构造函数的名字与类名完全相同
B.构造函数可以带有返回值
C.构造函数必须带有参数
D.构造函数必须定义,不能默认
16. 构造函数是在时被执行的。

A.程序编译;
B.程序装入内存;
C.创建类;
D.创建对象。

17. 实现编译时的多态性要使用。

A.重载函数B.析构函数C.构造函数D.虚函数
18. 实现运行时的多态性要使用。

A.重载函数B.析构函数C.构造函数D.虚函数
B.析构函数不能是虚函数
C.虚函数可以是友元函数
D.虚函数可以是静态成员函数
20. 要实现动态联编,派生类中的虚函数。

A.返回类型可以与虚函数的原型不同
B.参数个数可以与虚函数的原型不同
C.参数类型可以与虚函数的原型不同
D.以上都不对
21. 如果在基类中将show()声明为不带返回值的纯虚函数,正确的写法
是。

A.virtual show()=0;
B.virtual void show();
C.void show()=0 virtual;
D.virtual void show()=0;
22. 如果一个类至少有一个纯虚函数,那么该类称为。

A.抽象类B.虚基类C.派生类D.以上都不对
23. 下列关于纯虚函数与抽象类的描述中错误的是。

A.纯虚函数是一种特殊的函数,它允许没有具体的实现
B.抽象类是指具有纯虚函数的类
C.一个基类的说明中有纯虚函数,该基类的派生类一定不再是抽象类
D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出
24.下面关于访问类A的私有数据成员的说法,错误的是。

A.类A的友元函数可以访问类A的私有成员。

B.类A的友元类中的非静态成员函数可以访问类A的私有成员。

C.类A的嵌套类中的非静态成员函数可以访问类A的私有成员。

D.类A中的非静态成员函数可以访问类A的私有成员。

25.重载函数在调用时选择的依据中,错误的是。

A.函数的参数B.参数的类型C.函数的名字D.函数的类型
26.一个函数功能不太复杂,但要求被频繁调用,选用。

A.内联函数B.重载函数C.递归函数D.嵌套函数
27.下列不是
..描述类的成员函数的是。

A.构造函数B.析构函数C.友元函数D.拷贝构造函数
28.构造函数不具备
...的特征的是。

A.构造函数的函数名与类名相同B.构造函数可以重载
C.构造函数可以设置默认参数D.构造函数必须指定类型说明
29.通常,拷贝构造函数的参数是。

A.某个对象名B.某个对象的成员名
C.某个对象的引用名D.某个对象的指针名
30.继承机制的作用是。

A.信息隐藏B.数据封装C.代码重用D.数据抽象
31.下列对虚基类声明正确的是。

A.class virtual B: public A B.class B: virtual public A C.class B: public A virtual D.virtual class B: public A
32.类的析构函数是在调用的
A.类创建时B.创建对象时C.删除对象时D.不自动调用
33.在情况下适宜采用inline定义内联函数
A.函数体含有循环语句B.函数体含有递归语句
C.函数代码少、频繁调用D.函数代码多、不常调用
34.如果类A被说明成类B的友元,则。

A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元
35.下列哪种运算符可以被重载。

A.sizeof B.::C.? : D.[ ]
36.在类中说明的成员可以使用关键字进行修饰。

A.private B.extern C.auto D.register
37.定义析构函数时,应该注意。

A.其名与类名完全相同B.返回类型是void类型
C.无形参,也不可重载D.函数体中必须有d elete语句
38.在C++中,封装是借助什么达到的。

A.结构B.数组C.类D.函数
39.在派生类中重新定义虚函数时必须在方面与基类保持一致。

A.参数类型B.参数名字C.操作内容D.赋值
40.在关键字public后面定义的成员为类的。

A.私有成员B.公有成员C.保护成员D.任何成员
41.在int a=3,*p=&a;中,*p的值是。

A.变量a的地址值B.无意义C.变量p的地址值D. 3
42.C++类体系中,不能被派生类继承的有。

A.转换函数B.构造函数C.虚函数D.静态成员函数
43.假定一个类的构造函数为A(int aa,int bb){a=aa++;b=a*bb++;}则执行 A x(4,5);语句后,x.a和x.b的值分别为。

A.4和5 B.5和4 C.4和20 D.20和5
44.如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为。

A.a.operator++(1) B.operator++(a)
C.operator++(a,1) D.a.operator++()
45.静态成员函数不能说明为。

A.整型函数B.浮点函数C.虚函数D.字符型函数
46.在C++中,数据封装要解决的问题是。

A.数据规范化排列B.数据高速转换
C.避免数据丢失D.防止不同模块之间数据的非法访问
47.在C++中有以下4条语句:
static int hot=200;
int &rad=hot;
hot=hot+100;
cout<<rad<<endl;
执行这4条语句后输出为:。

A.0 B.100 C.300 D.200 48.如果class类中的所有成员在定义时都没有使用关键字pubilc, private, protected,则所有成员缺省定义为:。

A.public B.protected C.private D.static
49.C++设置虚基类的目的是。

A.消除二义性B.简化程序
C.提高运行效率D.减少目标代码
51.在公有继承的情况下,基类成员在派生类中的访问权限。

A.受限制B.保持不变C.受保护D.不受保护
52.下面关于new 和delete操作符的说法,是不正确
...的。

A.使用new操作符,可以动态分配全局堆中的内存资源。

B.用new申请的数组,必须用delete[] 释放。

C.用new申请的空间,即使不调用delete释放掉,当程序结束时也会自动释放掉。

D.执行语句A * p=new A[100];时,类A的构造函数会被调用100次。

53.假定AB为一个类,则执行AB x;语句时将自动调用该类的。

A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数
54.C++语言建立类族是通过。

A.类的嵌套B.类的继承C.虚函数D.抽象类55. 假定C为一个类,则执行“C a1(20), a2[5];”语句时,自动调用该类构造函数的次数为。

A.25 B.6 C.2 D.21
56. 下列关于成员函数特征的描述中错误的是。

A.成员函数可以设置参数的默认值
B.成员函数可以重载
C.成员函数一定是内联函数
D.成员函数可以是静态的
57. 下列关于静态数据成员的描述中正确的是。

A.类的不同对象有不同的静态数据成员值
B.类的每个对象都有自己的静态数据成员
C.静态数据成员是类的所有对象共享的数据
D.静态数据成员不能通过类的对象调用
58. 下列关于静态成员函数的描述中正确的是。

A.在静态成员函数中可以使用this指针
B.在建立对象前,就可以为静态数据成员赋值
C.静态成员函数在类外定义时,要加static前缀
D.静态成员函数只能在类外定义
59. 一个类的友元函数或友元类只能够访问该类的。

A.公有成员B.保护成员C.私有成员D.公有成员、保护成员和私有成员
60. 友元的作用之一是。

A.提高程序的运行效率
B.加强类的封装性
C.实现数据的隐蔽性
D.增加成员函数的种类
61. 在下列各类函数中,不是类的成员函数。

A.友元函数B.析构函数C.构造函数D.拷贝构造函数
62. 对于常成员函数,下面描述正确的是。

A.常成员函数不能修改任何数据成员
B.常成员函数只能修改一般数据成员
C.常成员函数只能修改常数据成员
D.常成员函数只能修改常对象的数据成员
63. 使用派生类的主要原因是。

A.提高代码的可重用性
B.提高程序的运行效率
C.加强类的封装性
D.实现数据的隐藏
64. 若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基
类中的。

A.私有成员B.公有成员C.保护成员D.保护成员或私有成员
65. 类的保护成员,不可以让直接访问。

A.主函数B.该类的成员函数C.该类的友元函数D.该类的派生类
66. 保护继承时,基类的在派生类中成为保护成员,不能通过派生类的对
象来直接访问该成员。

A.私有成员B.公有成员和保护成员C.保护成员和私有成员D.任何
成员
68.下列关于构造函数的描述中,错误的是。

A.构造函数可以是内联函数;
B.构造函数不可以重载;
C.构造函数可以设置默认参数;
D.构造函数在定义类的对象是自动执行。

69.在类外定义成员函数时,需要在函数名前加上。

A.类名;
B.对象名;
C.作用域运算符;
D.类名和作用域运算符。

70.函数重载是指。

A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同;
B.两个以上的函数取相同的名字和具有相同的参数个数,但返回值的类型不同;
C.两个以上的函数名字不同,但形参的个数或类型相同;
D.两个以上的函数取相同的函数名,并且函数的返回类型相同。

71.在下面的类型声明中,正确的是。

A.int &&p;
B.int &a[4];
C.int i, *p=&i;
D.int &*p;
72.已知“int m=10;”,在下列表示引用的方法中,是正确的。

A.int &x=m;
B.int &y=10;
C.int &z;
D.float &t=&m;
73. 下列关于new运算符的描述中,是错误的。

A.它可以用来创建对象和对象数组;
B.使用它创建的对象或对象数组可以使用运算符d elete删除;
C.使用它创建对象时要调用构造函数;
D.使用它创建对象数组时必须指定初始值。

74. 下列关于d elete运算符的描述中,是错误的。

A.它必须用于new返回的指针;
B.对一个指针可以使用多次该运算符;
C.使用它删除对象时要调用析构函数;
D.指针名前只有一对方括号符号,不管所删除数组的维数。

相关文档
最新文档