1、选择题1、___A__只能访问静态成员变量。
A 静态函数B 虚函数C 构造函数D 析构函数2、下列的各类函数中,__C___不是类的成员函数。
A 构造函数B 析构函数C友元函数 D 拷贝构造函数3、友元的作用_A__。
A 提高程序的运行效率B 加强类的封装性C 实现数据的隐藏性D 增加成员函数的种类4、类模板的使用实际上是将类模板实例化成一个具体的_D____。
A 类B 对象C 函数D 模板类5、下列函数中,___C__不能重载。
A 成员函数B 非成员函数C 析构函数D 构造函数6、___C__是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。
A 虚析构函数B虚构造函数C纯虚函数 D 静态成员函数7、__A___是istream的派生类,处理文件输入;___C__是iostream的派生类,可以同时处理文件的I/O。
A、ifstreamB、ostreamC、fstreamD、ofstream8、对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行__A___,再执行__B___,后执行__C___。
A 成员对象的构造函数B 基类的构造函数C 派生类本身的构造函数9、局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用__A___提供对全局变量的访问。
A 域运算符B 类运算符C 重载D 引用10、一个__C___允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。
A 函数模板B 模板函数C 类模板D 模板类11、系统在调用重载函数时,往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是___D__。
A 参数个数B 参数的类型C 函数名称D函数的类型12、如果一个类至少有一个纯虚函数,那么就称该类为__A___。
A 抽象类B 虚基类C 派生类D 以上都不对13、进行文件操作时需要包含__B___文件。
A iostreamB fstreamC stdio.hD stdliB、h14、在C++中,打开一个文件,就是将这个文件与一个__B___建立关联;关闭一个文件,就取消这种关联。
A 类B 流C 对象D 结构15、___A__提供了类对外部的接口,而__D___不允许外界访问,但允许派生类的成员访问。
A 公有成员B 私有成员C 私有成员函数D 保护成员16、C++对C语言作了很多改进,下列描述中___D__使得C语言发生了质变,从面向过程变成了面向对象。
A、增加了一些新的运算符;B、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型;D、引进了类和对象的概念;17、在C++中,关于下列设置缺省参数值的描述中,__B___是正确的。
A、不允许设置缺省参数值;B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;C、只能在函数的定义中指定参数的缺省值;D、设置缺省参数值时,必须全部都设置;18、__D___不是构造函数的特征。
A、构造函数的函数名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明。
19、___A__是析构函数的特征。
A、析构函数可以有一个或多个参数;B、析构函数名与类名不同;C、析构函数的定义只能在类体内;D、一个类中只能定义一个析构函数;20、关于成员函数特征的下列描述中,___A__是错误的。
A、成员函数一定是内联函数;B、成员函数可以重载;C、成员函数可以设置缺省参数值;D、成员函数可以是静态的;21、下列静态数据成员的特性中,__C___是错误的。
A、说明静态数据成员时前边要加修饰符static;B、静态数据成员要在类体外进行初始化;C、静态数据成员不是所有对象所共用的;D、引用静态数据成员时,要在其名称前加<类名>和作用域运算符;22、关于new运算符的下列描述中,__D___是错误的。
A、它可以用来动态创建对象和对象数组;B、使用它创建的对象或对象数组可以使用运算符delete删除;C、使用它创建对象时要调用构造函数;D、使用它创建对象数组时必须指定初始值;23、关于delete运算符的下列描述中,___C__是错误的。
A、它必须用于new返回的指针;B、使用它删除对象时要调用析构函数;C、对一个指针可以使用多次该运算符;D、指针名前只有一对方括号符号,不管所删除数组的维数。
24、const int *p说明不能修改_D__。
A、p指针;B、p指针指向的变量;C、p指针指向的数据类型;D、上述A、B、C三者;25、设置虚基类的目的是__B___。
A、简化程序;B、消除二义性;C、提高运行效率;D、减少目标代码;26、下列描述中,正确的是___C__A、虚函数是一个static 类型的成员函数;B、虚函数是一个非成员函数;C、抽象类是指具有纯虚函数的类;D、抽象类可以说明其对象;27、下列描述中,__D___是不正确的。
A、面向对象程序设计可重用性较好;B、对象之间通过消息进行信息传递;C、多态性体现了行为共享;D、面向对象方法的核心是继承;28、在C++中,关于下列函数参数的描述中,__C__是正确的。
A、C++语言中,实参是按照自左至右的顺序求值的;B、若一个参数设置了默认值,则其右边的所有参数都具有默认值;C、函数参数的默认值不允许是表达式;D、设置参数默认值时,应该全部参数都设置;29、在__C___情况下适宜采用inline定义内联函数。
A、函数体含有循环语句;B、函数体含有递归语句;C、函数代码小,频繁调用;D、函数代码多,不常调用;30、定义析构函数时,应该注意___C__。
A、其函数名与类名完全相同;B、函数返回类型是void类型;C、无形参,也不可重载;D、函数体中必须有delete语句;31、下列关于构造函数的描述中,__A___是正确的。
A、构造函数可以设置缺省参数;B、构造函数可以被继承;C、构造函数可以对静态数据成员进行初始化;D、构造函数可以说明为虚函数;32、int * const p说明不能修改__A___。
A、p指针;B、p指针指向的变量;C、p指针指向的数据类型;D、上述A、B、C三者;33、关于堆运算符的下列描述中,__C___是错误的。
A、使用堆运算符可以动态建立或删除对象;B、new运算符创建对象时要调用构造函数;C、可以在使用new[]创建数组时,为每个数组元素指定初始值;D、delete运算符可以作用于空指针;D、派生类是基类的子类型;34、重载函数在调用时选择的依据中,__C___是错误的。
A、参数个数;B、参数的类型;C、函数名字;D、函数的类型。
35、下列描述中,__A___是抽象类的特性。
A、可以说明虚函数;B、可以进行构造函数重载;C、可以定义友元函数;D、不能说明其对象。
36、在下列关键字中,用于说明类中公有成员的是_A____。
A、publicB、privateC、protectedD、friend37、复制构造函数的形参是__C___。
A、某个对象名B、某个对象的成员名C、某个对象的引用名D、某个对象的指针名38、如果编程者没有显式定义构造函数(包括复制构造函数),C++编译器就__D__。
A、出现编译错误B、没有构造函数C、必须显示定义D、隐式定义缺省的构造函数39、静态成员函数仅能访问__A___。
A、静态的数据成员B、非静态的成员函数C、非静态的数据成员D、以上都不对40、静态数据成员的初始化必须在__B___。
A、类内B、类外C、在构造函数内D、静态成员函数内41、关于动态联编的下列描述中,_D____是错误的。
A、动态联编是以虚函数为基础的B、动态联编是在运行时确定所调用的函数代码的。
C、动态联编调用函数操作是指向对象的指针或对象引用D、动态联编是编译时确定操作函数的42、关于虚函数的描述中,__C___是正确的。
A、虚函数是一个static类型的成员函数B、虚函数是一个非成员函数C、基类中说明了虚函数后,派生类中其对应的函数可不必说明为虚函数D、派生类的虚函数与基类的虚函数具有不同的参数个数和类型43、实现运行时的多态性要使用__D___。
A、重载函数B、构造函数C、析构函数D、虚函数44、使用如setw()的操纵符对数据进行格式输出时,应包含__C___文件。
A、iostreamB、fstreamC、iomanipD、stdlib.h45、当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式是__A___。
A、ios::inB、ios::outC、ios::truncD、ios::binary。