A、变量名 B、类名 C、对象名 D、函数名
11.模板的使用是为了()。
A、提高代码的可重用性B、提高代码的运行效率
C、加强类的封装性D、实现多态性
12.若Fraction为类重载前增运算符++,应在类体中将其声明为()。
A、Fraction&operator++();B、Fraction&operator++(int);
C、friendFraction&operator++();D、friendFraction&operator++(int)
13.关于动态存储分配,下列说法正确的是()。
A、new和delete是C++语言中专门用于动态内存分配和释放的函数
B、动态分配的内存空间也可以被初始化
C、当系统内存不够时会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间
D、当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new
14.在C++中用来实现运行时多态性的是()。
A、重载函数B、析构函数C、构造函数D、虚函数
15.在一个类体的下列声明中,正确的纯虚函数声明是()。
A、virtualvoidvf()=0;B、voidvf(int)=0;
C、virtualintvf(int);D、virtualvoidvf(int){}
1.C++语言是从早期的C语言逐渐发展演变而来的。
与C语言相比,它在求解问题方法上进行的最大改进是。
A.面向过程 B.面向对象 C.安全性 D.复用性
2.如果类A被说明成类B的友元,则。
A.类A的成员即类B的成员B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元
3.通过运算符重载,可以改变运算符原有的。
A.操作数类型B.操作数个数C.优先级D.结合性
4.下面描述中,表述错误的是。
A.公有继承时基类中的public成员在派生类中仍是public的
B.公有继承时基类中的private成员在派生类中仍是private的
C.公有继承时基类中的protected成员在派生类中仍是protected的
D.私有继承时基类中的public成员在派生类中是private的
5.下列关于this指针的描述中,正确的是。
A.类的非静态成员函数都有this指针B.类的友元函数都有this指针
C.任何与类相关的函数都有this指针D.类的成员函数都有this指针
6.假定类A已经定义,对于以类A为基类的单一继承B类,以下定义中正确的是。
A.classB:
publicA{//…};B.classA:
publicB{//…};
C.classB:
publicclassA{//…};D.classA:
classBpublic{//…};
7.template
Tsquare(Tx)
{returnx*x;}
其中T是。
A.函数形参 B.函数实参 C.模板形参 D.模板实参
8.要实现动态链接,派生类中的虚函数。
A.返回的类型可以与虚函数的原型不同B.参数个数可以与虚函数的原型不同
C.参数类型可以与虚函数的原型不同D.以上都不对
9.函数重载是指。
A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.两个以上的函数名字不同,但形参的个数或类型相同
D.两个以上的函数取相同的函数名,并且函数的返回类型相同
10.C++可以采用动态内存分配在运行时为指针分配内存。
下面对一个100个元素的动态数组进行动态内存分配和释放的是。
A.int*pi=newint[100];deletepi;pi=NULL;
B.int*pi=newint(100);delete[]pi;pi=NULL;
C.int*pi=newint(100);delete()pi;pi=NULL;
D.int*pi=newint[100];delete[]pi;pi=NULL;
11.语句ofstreamf(“SALARY.DAT”,ios:
:
app|ios:
:
binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且。
A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B.若文件存在,将其置为空文件;若文件不存在,打开失败
C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D.若文件存在,打开失败;若文件不存在,建立一个新文件
12.下面对于友元函数描述正确的是。
A.友元函数的实现必须在类的内部定义B.友元函数是类的成员
C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员
13.下列虚基类的声明中,正确的是。
A.classvirtualB:
publicAB.virtualclassB:
publicA
C.classB:
publicAvirtualD.classB:
virtualpublicA
----------------------------------------装--------------------------------------订-------------------------------------线----------------------------------------------------
14.在一个类体的下列声明中,正确的纯虚函数声明是。
A.virtualvoidvf()=0;B.voidvf(int)=0;
C.virtualintvf(int);D.virtualvoidvf(int){}
15.有如下类的定义:
classPoint{
private:
staticinthow_many;
};
how_many=0;
要初始化Point类的静态成员how_many,下划线处应填写。
A.intB.staticintC.intPoint:
:
D.staticintPoint:
:
1、函数重载是指()。
A、两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B、两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C、两个以上的函数名字不同,但形参的个数或类型相同
D、两个以上的函数取相同的函数名,并且函数的返回类型相同
2、编写C++程序一般需经过的几个步骤依次是()
A、编辑、调试、编译、连接B、编辑、编译、连接、运行
C、编译、调试、编辑、连接D、编译、编辑、连接、运行
3、在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的
A、私有成员B、公有成员()
C、保护成员D、保护成员或私有成员
4、在类中,正确的纯虚函数声明是()
A、virtualvoidf(int){}B、voidf(int)=0;
C、virtualintf(int);D、virtualvoidf()=0;
5、关于this指针使用说法正确的是()
A、保证每个对象拥有自己的数据成员,但共享处理这些数据的代码
B、保证基类私有成员在子类中可以被访问。
C、保证基类保护成员在子类中可以被访问。
D、保证基类公有成员在子类中可以被访问。
6、有如下类的定义:
classPoint{
private:
staticinth;
};
h=0;
要初始化Point类的静态成员h,下划线处应填写()
A、intB、staticintC、intPoint:
:
D、staticintPoint:
:
7、template
Tfun(Tx)
{returnx+x;}
其中T是()
A、函数形参 B、函数实参 C、模板形参 D、模板实参
8、假定类A已经定义,对于以类A为基类的单一继承B类,以下定义中正确的是()
A、classB:
publicA{//…};B、classA:
publicB{//…};
C、classB:
publicclassA{//…};D、classA:
classBpublic{//…};
9、假定一个类定义如下classA{private:
inta,b;public:
A(intaa,intbb)
{a=aa--;b=a*bb;}};则执行Ax(4,5);语句后,x.a和x.b的值分别为()
A、3和15B、5和4
C、4和20D、20和5
10、通过运算符重载,可以改变运算符原有的()
A、操作数个数B、操作数类型C、优先级D、结合性
11、关于虚函数的描述中,()是正确的。
A、虚函数是一个static类型的成员函数
B、虚函数是一个非成员函数
C、基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数
D、派生类的虚函数与基类的虚函数具有不同的参数个数和类型
12、如果类A被说明成类B的友元,则()
A、类A的成员即类B的成员B、类B的成员即类A的成员
C、类A的成员函数不得访问类B的成员D、类B不一定是类A的友元
----------------------------------------装--------------------------------------订-------------------------------------线----------------------------------------------------
13、下面叙述不正确的是()
A、派生类一般都用公有派生
B、对基类成员的访问必须是无二义性的
C、赋值兼容规则也适用于多重继承的组合
D、基类的公有成员在派生类中仍然是公有的
14、下列虚基类的声明中,正确的是()
A、classB:
virtualpublicAB、virtualclassB:
publicA
C、classB:
publicAvirtualD、classvirtualB:
publicA
15、语句ofstreamf(“d:
\\article.dat”,ios:
:
app|ios:
:
binary);的功能是建立流对象f,试图打开文件article.dat并与之连接,并且()
A、若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B、若文件存在,将其置为空文件;若文件不存在,打开失败
C、若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D、若文件存在,打开失败;若文件不存在,建立一个新文件
1、构造函数是在()时被执行。
A、程序编译B、创建对象
C、创建类D、程序装入内存
2、使用派生类的主要原因是()
A、提高代码的重用性
B、提高程序的运行效率
C、加强类的封装性
D、实现数据的隐藏
3、语句ofstreamf(“d:
\\data.dat”,ios:
:
app|ios:
:
binary);的功能是建立流对象f,试图打开文件data.dat并与之连接,并且()
A、若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B、若文件存在,将其置为空文件;若文件不存在,打开失败
C、若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D、若文件存在,打开失败;若文件不存在,建立一个新文件
4、在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的
A、保护成员B、公有成员()
C、私有成员D、保护成员或私有成员
5、有如下类的定义:
classRectangle{
private:
staticintx;
};
x=0;
要初始化Rectangle类的静态成员x,下划线处应填写()
A、intB、staticintC、intRectangle:
:
D、staticintRectangle:
:
6、template
Tfun(Tx)
{returnx*x;}
其中T是()
A、函数形参 B、模板形参 C、函数实参 D、模板实参
7、假定类A已经定义,对于以类A为基类的单一继承B类,以下定义中正确的是()
A、classB:
publicA{//…};B、classA:
publicB{//…};
C、classB:
publicclassA{//…};D、classA:
classBpublic{//…};
8、假定一个类定义如下classA{private:
inta,b;public:
A(intaa,intbb):
a(aa),b(bb){a++;}}则执行Ax(7,8);语句后,x.a和x.b的值分别为()
A、7和15B、7和8
C、8和7D、8和8
9、如果类A被说明成类B的友元,则()
A、类A的成员即类B的成员B、类B不一定是类A的友元
C、类A的成员函数不得访问类B的成员D、类B的成员即类A的成员
10、有关运算符重载正确的描述是()
A.C++语言允许在重载运算符时改变运算符的操作数个数
B.C++语言允许在重载运算符时改变运算符的优先级
C.C++语言允许在重载运算符时改变运算符的结合性
D.C++语言允许在重载运算符时改变运算符的原来的功能
11、面向对象程序设计将数据与()在一起,作为一个相互依存、不可分割的整体来处理
A、对数据的操作B、信息
C、数据隐藏D、数据抽象
12、有关多态性说法不正确的是()
A、运行时的多态性可通过模板和虚函数实现
B、编译时的多态性可通过函数重载实现
C、C++语言的多态性分为编译时的多态性和运行时的多态性
D、实现运行时多态性的机制称为动态多态性
----------------------------------------装--------------------------------------订-------------------------------------线----------------------------------------------------
13、下面叙述不正确的是()
A、派生类一般都用公有派生
B、对基类成员的访问必须是无二义性的
C、赋值兼容规则也适用于多重继承的组合
D、基类的公有成员在派生类中仍然是公有的
14、友元关系不能()
A、提高程序的运行效率
B、是类与类的关系
C、是一个类的成员函数与另一个类的关系
D、继承
15、下列语句中错误的是()
A、int*pt=newint(100)B、int*pt=newint[100]
C、int*pt=newintD、int*pt=newint[100](0)
1.下面()的叙述不符合赋值兼容规则。
A.派生类的对象可以赋值给基类的对象
B.基类