C++面向对象程序设计(高起专)复习题专业课程期末复习题(含答案)_第1页
C++面向对象程序设计(高起专)复习题专业课程期末复习题(含答案)_第2页
C++面向对象程序设计(高起专)复习题专业课程期末复习题(含答案)_第3页
C++面向对象程序设计(高起专)复习题专业课程期末复习题(含答案)_第4页
C++面向对象程序设计(高起专)复习题专业课程期末复习题(含答案)_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

仲恺农业工程学院C++面向对象程序设计(高起专)复习题课程名称:C++面向对象程序设计(高起专)1.(单选题)下列各运算符中,()结合性从左到右。(本题1.0分)A.三目;B.赋值;

C.比较;D.单目答案:C.解析:无.2.(单选题)下列各运算符中,()优先级最低。(本题1.0分)A.:B.|C.||D.!=答案:A.解析:无.3.(单选题)下列各运算符中,()可以作用于浮点数。(本题1.0分)A.++;B.%;C.>>;D.&答案:A.解析:无.4.(单选题)关于成员函数特征的下述描述中,()是错误的。(本题1.0分)A.成员函数一定是内联函数;B.成员函数可以重载;C.成员函数可以设置参数的缺省值;D.成员函数可以是静态的。答案:A.解析:无.5.(单选题)通常的拷贝初始化构造函数的参数是()。(本题1.0分)A.某个对象名;B.某个对象的成员名;C.某个对象的引用名;D.某个对象的指针名。答案:C.解析:无.6.(单选题)下列各运算符中,()优先级最高。(本题1.0分)A.+(双目);B.*(单目);C.<=;D.*=答案:B.解析:无.7.(单选题)下面关于对象概念的描述中,()是错误的。(本题1.0分)A.对象就是C语言中的结构变量;B.对象代表着正在创建的系统中的一个实体;C.对象是——个状态和操作(或方法)的封装体;D.对象之间的信息传递是通过消息进行的答案:A.解析:无.8.(单选题)下面关于类概念的描述中,()是错误的。(本题1.0分)A.类是抽象数据类型的实现;B.类是具有共同行为的若干对象的统—描述体;C.类是创建对象的样板;D.类就是C语言中的结构类型答案:D.解析:无.9.(单选题)关于C++与C语言的关系的描述中,()是错误的。(本题1.0分)A.C语言是C++的一个子集;B.C语言与C++是兼容的;C.C++对C语言进行了一些改进;D.C++和C语言都是面向对象的答案:D.解析:无.10.(单选题)()不是面向对象系统所包含的要素。(本题1.0分)A.重载;B.对象;C.类;D.继承答案:A.解析:无.11.(单选题)下面关于静态成员的描述中,正确的是()(本题1.0分)A.静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象访问答案:A.解析:无.12.(单选题)下述面向对象抽象的原理中,()是不对的。(本题1.0分)A.数据抽象;B.行为共享;C.进化;D.兼容答案:D.解析:无.13.(单选题)下列各种高级语言中,()是面向对象的程序设计语言。(本题1.0分)A.BASIC;B.PASCAI;C.C十十;D.Ada答案:C.解析:无.14.(单选题)一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()(本题1.0分)A.内联函数B.重载函数C.递归函数D.嵌套函数答案:A.解析:无.15.(单选题)类成员的访问权限中,()只能被本类的成员函数和其友元函数访问。(本题1.0分)A.shareB.publicC.privateD.protected答案:C.解析:无.16.(单选题)关于构造函数,下列说法不正确的是()。(本题1.0分)A.构造函数名字和类名相同B.构造函数在创建对象时自动执行C.构造函数无任何函数返回类型D.构造函数有且只有一个答案:D.解析:无.17.(单选题)以下有关继承的叙述正确的是()(本题1.0分)A.只有基类的公有成员能被继承B.派生类是基类的组合C.派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员D.基类的公有成员一定能被派生类的对象访问答案:D.解析:无.18.(单选题)所谓多态性是指()(本题1.0分)A.不同的对象调用不同名称的函数B.不同的对象调用相同名称的函数C.一个对象调用不同名称的函数D.一个对象调用不同名称的对象答案:B.解析:无.19.(单选题)下列说法中,正确的说法是()(本题1.0分)A.所有的运算符都能被重载B.运算符被重载时,它们的优先级与结合性不会改变C.当需要时,我们可以自定义一个运算符来进行重载D.每个运算符都可以被重载成成员函数和友元函数答案:B.解析:无.20.(单选题)已知f1

f2同一类两个成员函数,但f1不能调用f2,说明()(本题1.0分)A.f1

f2都是静态函数B.f1是静态,f2不是C.f1不是,f2是静态D.f1

f2都不是静态函数答案:B.解析:无.21.(单选题)调用一成员函数时,使用动态联编的情况是()(本题1.0分)A.通过对象调用一虚函数B.通过指针或引用调用一虚函数C.通过对象调用静态函数D.通过指针或引用调用一静态函数答案:B.解析:无.22.(单选题)运算结果类型相同的()(本题1.0分)A.9.0/2.0

9.0/2B.9/2.0

9/2C.9.0/2

9/2D.9/2

9.0/2.0答案:A.解析:无.23.(单选题)程序设计中,首先在问题域中识别出若干个()(本题1.0分)A.函数B.类C.文件D.过程答案:B.解析:无.24.(单选题)定义类模板用关键字()(本题1.0分)A.constB.newC.deleteD.template答案:D.解析:无.25.(单选题)关于虚函数的描述中,(

)是正确的。(本题1.0分)A.虚函数是一个静态成员函数B.虚函数是一个非成员函数C.虚函数既可以在函数说明时定义,也可以在函数实现时定义D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型答案:D.解析:无.26.(单选题)下列关于动态联编的描述中,错误的是()。(本题1.0分)A.动态联编是以虚函数为基础B.动态联编是运行时确定所调用的函数代码的C.动态联编调用函数操作是指向对象的指针或对象引用D.动态联编是在编译时确定操作函数的答案:D.解析:无.27.(单选题)下面4个选项中,(

)是用来声明虚函数的。(本题1.0分)A.virtualB.publicC.using

D.final答案:A.解析:无.28.(单选题)编译时的多态性可以通过使用(

)获得。(本题1.0分)A.虚函数和指针B.重载函数

C.虚函数和对象D.虚函数和引用答案:B.解析:无.29.(单选题)派生类的对象对其基类中(

)可直接访问。(本题1.0分)A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员答案:A.解析:无.30.(单选题)继承具有(

),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间接基类的成员。(本题1.0分)A.规律性B.传递性C.重复性

D.多样性答案:B.解析:无.31.(单选题)下列特性中不是面向对象程序设计语言所特有的是()。(本题1.0分)A.数据封装B.继承C.多态性D.模板答案:D.解析:无.32.(单选题)有如下的对类“CSample”的说明,其中()是错误的。(本题1.0分)A.inta=23;B.CSample();public:C.CSample(intval);D.~CSample();答案:A.解析:无.33.(单选题)下面有关重载函数的说法中正确的是()。(本题1.0分)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同答案:C.解析:无.34.(单选题)对于类中定义的成员,其隐含访问权限为()。(本题1.0分)A.publicB.ProtectedC.privateD.static答案:C.解析:无.35.(单选题)C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是()。(本题1.0分)A.面向过程B.面向对象C.安全性D.复用性答案:B.解析:无.36.(单选题)下列关于运算符重载的描述中,错误的是()。(本题1.0分)A.运算符重载不可以改变操作数的个数B.运算符重载不可以改变运算符的功能C.运算符重载不可以改变结合方向D.运算符重载不可以改变运算优先级答案:B.解析:无.37.(单选题)按照标识符的要求,()符号不能组成标识符。(本题1.0分)A.连接符;

B.下划线;C.大小写字母;D.数字字符答案:A.解析:无.38.(单选题)下列各种高级语言中,()是最早提出了对象的概念。(本题1.0分)A.Algol60;B.Simula67;

C.Smalltalk;D.C十十答案:B.解析:无.39.(单选题)在下列关键字中,用以说明类中公有成员的是()。(本题1.0分)A.public;B.private;C.protected;D.friend答案:A.解析:无.40.(单选题)下列关于运算符重载的描述中,正确的是()(本题1.0分)A.可以改变运算符的目数B.可以改变运算符的优先级C.可以改变运算符的结合性D.可以改变运算符的功能答案:D.解析:无.41.(单选题)下述面向对象抽象的原理中,()是不对的。(本题1.0分)A.数据抽象;B.行为共享;C.进化D.兼容答案:D.解析:无.42.(单选题)()是不可以作为该类的成员的。(本题1.0分)A.自身类对象的指针‘;B.自身类的对象;C.自身类对象的引用;D.另一个类的对象。答案:B.解析:无.43.(单选题)下列符号中,()不可作为分隔符。(本题1.0分)A.,B.:C.?D.;答案:C.解析:无.44.(单选题)拷贝(复制)构造函数的作用是()(本题1.0分)A.进行数据类型的转换B.用对象调用成员函数C.用对象初始化对象D.用一般类型的数据初始化对象答案:C.解析:无.45.(单选题)类MyA的拷贝初始化构造函数是()(本题1.0分)A.MyA()B.MyA(MyA*)C.MyA(MyA&)D.MyA(MyA)答案:C.解析:无.46.(单选题)列关于纯虚函数的描述中,正确的是()(本题1.0分)A.纯虚函数是一种特殊的虚函数,它是个空函数B.具有纯虚函数的类称为虚基类C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数D.具有纯虚函数的类不能创建类对象答案:D.解析:无.47.(单选题)描述静态数据成员的特性中,()是错误的。(本题1.0分)A.说明静态数据成员时前边要加修饰符static;B.静态数据成员要在类体外进行初始化;C.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符;D.静态数据成员不是所有对象所共用的。答案:D.解析:无.48.(单选题)下列各表达式中,()有二义性。已知:inta(5),b(6);(本题1.0分)A.a+b>>3;B.++a+b++;

C.b+(a=3);D.(a=3)-a—答案:A.解析:无.49.(单选题)下列表达式中,()是合法的。已知:doublem=3.2;tntn=3;(本题1.0分)A.<<2;B.(m+n)|n;C.!m*=n;D.m=5,n=3.1,m+n答案:D.解析:无.50.(单选题)下列有关模板和继承的叙述正确的是()(本题1.0分)A.模板不能派生出一个类系,继承都可以派生出一个类系B.从类系的成员看,模板类系的成员比继承类系的成员较为稳定C.从动态性能看,

继承类系比模板类系具有更多的动态特性D.相同类模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系答案:D.解析:无.51.(多选题)下列有关模板的描述正确的是()。(本题1.5分)A.模板把数据类型作为一个设计参数,称为参数化程序设计。B.使用时,模板参数与函数参数相同,是按位置而不是名称对应的。C.模板参数表中可以有类型参数和非类型参数。D.类模板与模板类是同一个概念。答案:ABC.解析:无.52.(多选题)关于类中成员函数的描述中,错误的是(

)。(本题1.5分)A.类中可以说明一个或多个成员函数

B.类中的成员函数只能定义在类体外C.定义在类体外的成员函数前加inline可成为内联函数

D.在类体外定义成员函数时,需用类名和作用域运算符加以限定答案:ACD.解析:无.53.(多选题)已知函数模板定义为template<classT>Tmax(Ta,Tb){returna>b?a:b;}下述描述中,正确的是()。(本题1.5分)A.该函数有一个模板参数

B.该函数模板生成的模板函数中,其参数和返回值的类型必须相同

C.该函数模板生成的模板函数中,其参数和返回值的类型可以不同

D.T类型所允许的类型范围应对运算符>的操作有意义

答案:ABD.解析:无.54.(多选题)下列关于类模板的描述中,正确的是(

)。

(本题1.5分)A.定义类模板时可以没有模板参数B.类模板的成员函数的实现应与函数模板相似

C.由类模板生成模板类时,应给出模板参数被替代的类型D.类模板描述了一组类答案:BCD.解析:无.55.(多选题)下面关于引用正确的是(

)。(本题1.5分)A.引用声明完毕后,相当于目标变量名有两个名称B.声明引用时,必须同时对其进行初始化C.声明一个引用,不是新定义了一个变量D.可以建立引用数组答案:ABC.解析:无.56.(多选题)下面关于类的组合和继承正确的是(

)。(本题1.5分)A.is-a关系用继承表达,has-a关系用组合表达B.优先使用(类)继承,而非(对象)组合C.类的组合和继承一样,是软件重用的重要方式D.类中的数据成员变成另外一个类的对象的时候,就是类的组合答案:ACD.解析:无.57.(多选题)下面关于类的组合和继承正确的是()。(本题1.5分)A.如果类A和类B毫不相关,不可以让B继承A的功能和属性B.若在逻辑上B是A的“一种”,则允许B继承A的功能和属性C.若A的所有功能和属性对B而言都有意义,则允许B继承A的功能和属性D.若在逻辑上A是B的“一部分”,则允许B从A派生答案:ABC.解析:无.58.(多选题)以下类模板定义不正确的为()。(本题1.5分)A.templateB.templateC.templateD.template答案:BCD.解析:无.59.(多选题)下述概念中是面向系统所必须包含的要素是(

)(本题1.5分)A.重载

B.对象C.类D.继承答案:BCD.解析:无.60.(多选题)当一个类的某个函数被说明为virtual时,关于该函数在该类的所有派生类中说法错误的是(

)(本题1.5分)A.都是虚函数B.只有被重新说明时才是虚函数C.只有被重新说明为virtual时才是虚函数D.都不是虚函数答案:BCD.解析:无.61.(多选题)已知f1f2同一类两个成员函数,但f1不能调用f2,错误的是(

)(本题1.5分)A.f1f2都是静态函数

B.f1是静态,f2不是C.f1不是,f2是静态D.f1f2都不是静态函数答案:ACD.解析:无.62.(多选题)下列关于this指针的描述中,错误的是()。

(本题1.5分)A.类的成员函数都有this指针B.类的友元函数都有this指针C.任何与类相关的函数都有this指针D.类的非静态成员函数都有this指针答案:ABC.解析:无.63.(多选题)调用一成员函数时,使用静态联编的情况是(

)。(本题1.5分)A.通过对象调用一虚函数B.通过指针或引用调用一虚函数C.通过对象调用静态函数D.通过指针或引用调用一静态函数答案:ACD.解析:无.64.(多选题)下列描述正确的是(

)。

(本题1.5分)A.任何继承方式下基类中私有成员都是派生类所不可访问的

B.保护继承方式下基类中的公有成员是派生类对象可访问的

C.派生类中包含了基类中的所有成员

D.私有继承方式下基类中公有成员可被直接派生类访问,而不可被间接派生类访问答案:ACD.解析:无.65.(多选题)下列关于函数模板和模板函数的描述中,正确的是(

)。

(本题1.5分)A.函数模板是一组函数的模板B.模板函数是一个实在的函数C.函数模板是定义重载函数的一种工具

D.模板函数在编译时不生成可执行代码

答案:ABC.解析:无.66.(多选题)下列关于继承的描述中,错误的是(

)。(本题1.5分)A.继承不是类之间的一种关系B.C++语言仅支持单一继承C.继承会增加程序的冗余性D.继承是面向对象方法中一个很重要的特性答案:ABC.解析:无.67.(多选题)关于类的定义的描述中正确的是(

)。(本题1.5分)A.类的定义格式分为说明部分和实现部分

B.类中一般包含有成员函数和数据成员

C.类中成员有3种访问权限D.成员函数都是公有的,数据成员都是私有的答案:ABC.解析:无.68.(多选题)已知函数模板定义为:template<classT>Tmax(Ta,Tb){returna>b?a:b;}可能生成的模板函数是(

)。

(本题1.5分)A.intmax(int,int)

B.doublemax(double,double)

C.charmax(char,char)D.doublemax(int,double)

答案:ABC.解析:无.69.(多选题)关于子类型的描述中,(

)是正确的。(本题1.5分)A.子类型就是指派生类是基类的子类型;B.一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型;C.在公有继承下,派生类是基类的子类型;D.子类型关系是不可逆的。答案:BCD.解析:无.70.(多选题)已知类X是类Y的友元,类Y是类Z的友元,则错误的是(

)。(本题1.5分)A.类X一定是类Z的友元B.类Z一定是类X的友元C.类Z的成员函数可以访问类Y的对象的任何成员D.类X的成员函数可以访问类Y的对象的任何成员答案:ABC.解析:无.71.(判断题)作用域运算符(

::)只能用来限定成员函数所属的类。()(本题1.0分)A.正确B.错误答案:B.解析:无.72.(判断题)重载函数要求函数有相同的函数名,但通常具有不同的参数序列。()(本题1.0分)A.正确B.错误答案:A.解析:无.73.(判断题)抽象类可以用来直接创建对象。()(本题1.0分)A.正确B.错误答案:B.解析:无.74.(判断题)常对象只能调用常成员函数。()(本题1.0分)A.正确B.错误答案:A.解析:无.75.(判断题)模板类与类模板的意义完全相同。()(本题1.0分)A.正确B.错误答案:B.解析:无.76.(判断题)

说明或定义对象时,类名前面不需要加class关键字。()(本题1.0分)A.正确B.错误答案:A.解析:无.77.(判断题)

析构函数是一种函数体为空的成员函数。()(本题1.0分)A.正确B.错误答案:B.解析:无.78.(判断题)

某类中的友元类的所有成员函数可以存取或修改该类中的私有成员()(本题1.0分)A.正确B.错误答案:A.解析:无.79.(判断题)如果一个成员函数只存取一个类的静态数据成员,则可将该成员函数说明为静态成员函数。()(本题1.0分)A.正确B.错误答案:A.解析:无.80.(判断题)不可以定义抽象类的对象。()(本题1.0分)A.正确B.错误答案:A.解析:无.81.(判断题)内联函数的定义必须出现在第一次调用内联函数之前。()(本题1.0分)A.正确B.错误答案:A.解析:无.82.(判断题)不可以定义抽象类的对象。()(本题1.0分)A.正确B.错误答案:A.解析:无.83.(判断题)定义非形参的引用变量可以不初始化。()(本题1.0分)A.正确B.错误答案:B.解析:无.84.(判断题)使用new运算符创建数组时,可以为该数组指定初始值。()(本题1.0分)A.正确B.错误答案:B.解析:无.85.(判断题)

使用关键字class定义的类中缺省的访问权限是私有(private)的()(本题1.0分)A.正确B.错误答案:A.解析:无.86.(判断题)只有常成员函数才可以操作常对象。()(本题1.0分)A.正确B.错误答案:A.解析:无.87.(判断题)只有常成员函数才可以操作常对象。()(本题1.0分)A.正确B.错误答案:A.解析:无.88.(判断题)定义非形参的引用变量可以不初始化。()(本题1.0分)A.正确B.错误答案:B.解析:无.89.(判断题)

可以在类的构造函数中对静态数据成员进行初始化。()(本题1.0分)A.正确B.错误答案:B.解析:无.90.(判断题)内联函数的定义必须出现在第一次调用内联函数之前。()(本题1.0分)A.正确B.错误答案:A.解析:无.22.

(多选题)下述概念中是面向系统所必须包含的要素是(

)(本题3.0分)A.重载

B.对象C.类D.继承答案:

BCD解析:

无23.

(多选题)下列描述正确的是(

)。

(本题3.0分)A.任何继承方式下基类中私有成员都是派生类所不可访问的

B.保护继承方式下基类中的公有成员是派生类对象可访问的

C.派生类中包含了基类中的所有成员

D.私有继承方式下基类中公有成员可被直接派生类访问,而不可被间接派生类访问答案:

ACD解析:

无24.

(多选题)下列关于函数模板和模板函数的描述中,正确的是(

)。

(本题3.0分)A.函数模板是一组函数的模板B.模板函数是一个实在的函数C.函数模板是定义重载函数的一种工具

D.模板函数在编译时不生成可执行代码

答案:

ABC解析:

无25.

(多选题)关于类中成员函数的描述中,错误的是(

)。(本题3.0分)A.类中可以说明一个或多个成员函数

B.类中的成员函数只能定义在类体外C.定义在类体外的成员函数前加inline可成为内联函数

D.在类体外定义成员函数时,需用类名和作用域运算符加以限定答案:

ACD解析:

无26.

(判断题)

使用关键字class定义的类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论