您好,欢迎访问三七文档
1选择题1.在C++中,函数原型不能标识(D)A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能2.在C++程序中,对象之间的相互通信通过(B)A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现3.对于任意一个类,析构函数的个数最多为(B)A.0B.1C.2D.34.友元关系不能(A)A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系D.提高程序的运行效率5.语句ofstreamf(″SALARY.DAT″,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且(A)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件6.下面说法正确的是(B)A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline定义7.可以用p.a的形式访问派生类对象p的基类成员a,其中a是(D)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员8.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是(C)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针9.派生类对象可访问基类中的什么成员(A)A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员10.定义析构函数时,应该注意(C)A.其名与类名完全相同2B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句11.如果类A被说明成类B的友元,则(D)。A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元12.面向对象程序设计将数据与(A)放在一起,做为一个相互依存、不可分割的整体来处理。15.下面关于C++中类的继承与派生的说法错误的是(C)。A.基类的protected成员在公有派生类的成员函数中可以直接使用B.基类的protected成员在私有派生类的成员函数中可以直接使用C.公有派生时,基类的所有成员访问权限在派生类中保持不变D.基类的protected成员在保护派生类的成员函数中可以直接使用17.在下面选项中,对类的拷贝构造函数的声明形式是(B)A.A::A(&)B.A::A(constA&)C.A::A(A)D.voidA::A(A&a)18.下面关于成员函数特征的描述中,错误的是(A)A.成员函数不可以设置参数的默认值B.成员函数可以重载C.成员函数可以是内联函数D.成员函数可以是静态的19.下面关于类模板叙述不正确的是(B)A.可以有多个构造函数B.类模板是模板类的实例C.一个类模板可以用来实例化多个模板类D.类模板可以有多个参数20.要使一个类成为抽象类,这个类应具有的条件是(A)A.至少有一个纯虚函数B.至少有一个虚函数C.只含有一个纯虚函数D.只含有一个虚函数A.对数据的操作B.信息C.数据隐藏D.数据抽象13.在类中声明转换函数时不能指定(A)。A.参数B.访问权限C.操作D.标识符14.在派生类中重新定义虚函数时必须在(A)方面与基类保持一致。A.参数类型B.参数名字C.操作内容D.赋值16.重载赋值操作符时,应声明为(C)函数。A.友元B.虚C.成员D.多态321.有关运算符重载正确的描述是(D)A.C++语言允许在重载运算符时改变运算符的操作个数B.C++语言允许在重载运算符时改变运算符的优先级C.C++语言允许在重载运算符时改变运算符的结合性D.C++语言允许在重载运算符时改变运算符的原来的功能22.下列说法正确的是(D)。A.一个类的对象可以是另一个类的成员B.一个类可以作为另一个类的派生类C.一个类可以在另一个类定义体进行定义D.以上说法均正确23.下列各类函数中,(C)不是类的成员函数。A.构造函数B.析构函数C.友元函数D.拷贝构造函数24.派生类的对象对它的基类成员中(A)是可以访问的。A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员25.下面有关构造函数和new运算符关系正确的说法是(D)A.new运算符不调用构造函数B.构造函数一定调用new运算符C.当生成新类的实例时,先调用new运算符,然后调用构造函数进行初始化D.当new运算符动态产生类的对象时,new运算符也自动调用构造函数26.下面有关类性质的说法错误的是(D)A.一个类可以有多个构造函数,但只有一个析构函数B.析构函数和构造函数都不能有返回类型C.不能给析构函数指定参数D.一个类中不可以声明具有类类型的数据成员27.下面关于友元函数描述正确的是(C)A.友元函数是类的成员B.友元函数在类的外部声明C.友元函数在类中声明D.友元函数能够派生28.下面叙述正确的是(D)A.派生类不可以使用私用派生B.保护派生时,基类的保护成员在派生类中是公有的C.对基类成员的访问允许二义性D.赋值兼容规则也适用于多重继承的组合29.下面描述中,表达错误的是(B)A.公有继承时基类中的public成员在派生类中仍是public的B.公有继承是基类中的private成员在派生类中仍是private的4C.公有继承时基类中的protected成员在派生类中仍是protected的D.私有继承时基类中的public成员在派生类中是private的30.拷贝构造函数的参数是(C)A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名31.下列关于构造函数的描述中,错误的是(D)A.构造函数可以设置默认参数B.构造函数在定义类对象时自动执行C.构造函数可以是内联函数D.构造函数不可以重载32.数组作为函数的形参时,把数组名作为实参,传递给函数的是(A)A.该数组的首地址B.该数组的元素个数C.该数组中的各元素值D.该数组的大小33.通过一个析构函数调用虚函数时,C++系统对该调用采用(B)。A.动态联编B.静态联编C.不确定是哪种联编D.函数重载34.下面有关重载函数的说法中正确的是(C)A.重载函数必须具有不同的返回值类型;B.重载函数形参个数必须;C.重载函数必须有不同的形参列表;D.重载函数名可以不同;35.使用string类建立对象的不正确方式是(D)。A.stringstr(“OK”);B.stringstr=”OK”;C.stringstr;D.stringstr=’OK’;36.关于C++中类的继承与派生的说法错误的是(C)A.基类的protected成员在公有派生类的成员函数中可以直接使用B.基类的protected成员在私有派生类的成员函数中可以直接使用C.私有派生时,基类的所有成员访问权限在派生类中保持不变D.继承可以分为单一继承与多重继承37.一个类的析构函数(A)A.唯一的B.允许重载C.至多可有两个D.只能是缺省的38.下面关于静态成员描述正确的是(B)A.静态成员是对象的数据成员B.静态成员是对象的成员C.静态成员是对象的成员函数D.静态成员不是对象的成员539.下面叙述正确的是(D)A.基类的保护成员在派生类中仍然是保护的B.基类的公有成员在派生类中仍然是公有的C.基类的私有成员在派生类中是私有的D.从基类派生时,可以有3种派生方法40.说明内联函数的关键字是()。A.inlineB.virtualC.defineD.static41.假定CAb为一个类,则执行CAboX;语句时将自动调用该类的()A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数42.cin是某个类的标准对象的引用,该类是()。A.ostreamB.istreamC.stdoutD.stdin43.下面的哪个保留字不能作为函数的返回类型?()A.voidB.intC.newD.long44.不能参与重载的运算符是()。A.类B.函数C.函数模板D.运算符45.由于数据隐藏的需要,静态数据成员通常被说明为()。A.私有的B.公有的C.保护的D.不可访问的46.编译时多态性使用什么获得?()A.重载函数B.继承C.虚函数D.B和C47.拷贝构造函数的参数通常是()。A.无特殊要求B.指向对象的指针C.自已类对象的常引用D.对象48.C++有几种联编?()A.1种B.2种C.3种D.4种49.基类和派生类可以分别称为()。A.“大类”和“小类”B.“父类”和“子类”C.“小类”和“大类”D.“子类”和“父类”50.下列对类的构造函数和析构函数描述正确的是(A)。A)构造函数可以重载,析构函数不能重载B)构造函数不能重载,析构函数可以重载C)构造函数可以重载,析构函数可以重载D)构造函数不能重载,析构函数不能重载51.在函数定义前加上关键字“inline”,表示该函数被定义为(B)。A)重载函数B)内联函数C)成员函数D)普通函数52.下面有关重载函数的说明中,(C)是正确的。6A)重载函数必须具有不同的返回值类型B)重载函数形参个数必须不同C)重载函数必须具有不同的形参列表D)重载函数名可以不同53.已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,正确的是(A)。A)voidprint()const;B)constvoidprint();C)voidconstprint();D)voidprint(const)54.假定Myclass为一个类,那么下列的函数说明中(D)为该类的析构函数。A)void~Myclass();B)~Myclass(intn);C)Myclass();D)~Myclass()55.下面类的定义中有(C)处错误。classmyclass{inti=0;public:voidmyclass();~myclass(value);}A)1B)2C)3D)456.说明虚函数的关键字是(B)。A.inlineB.virtualC.defineD.static57.cout是某个类的标准对象的引用,该类是(A)。A.ostreamB.istreamC.stdoutD.stdin58、一个类的所有对象共享的是(D)。A.私有数据成员B.公有数据成员C.保护数据成员D.静态数据成员59.静态成员函数没有(B)。A.返回值B.this指针C.指针参数D.返回类型60.关于C++与C语言关系的描述中,(D)是错误的。A.C语言是C++语言的一个子集B.C语言与C++语言是兼容的C.C++语言对C语言进行了一些改进D.C++语言和C语言都是面向对象的61.按照标识符的要求,(A)符号不能组成标识符。A.连接符B.下划线C.大小写字母D.数字字符62.为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C)组成配对关系。A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if63.在intA[][3]={{1},{3,2},{4,5,6},{0}};中,A[2][2]的值是(C)。A.1B.0C.6D.264.设Char**s;,以下正确的表达式是(B)。7A.s=Computer;B.*s=Computer;C.**s=Computer;D.*s='C';65.对于int*pa[5];的描述中,(D)是正确的。A.pa是一个指向数组的指针,所指向的数组是5个int型元素B.pa是一个指向某数组中第5个元素的指针,该元素是int型变量C.pa[5]表示某个元素的第5个元素的值D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针66.在下列表示引
本文标题:C++试题库
链接地址:https://www.777doc.com/doc-1840766 .html