C++面向对象程序设计高起专复习题专业课程期末复习题含答案.docx
- 文档编号:30603826
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:26
- 大小:23.25KB
C++面向对象程序设计高起专复习题专业课程期末复习题含答案.docx
《C++面向对象程序设计高起专复习题专业课程期末复习题含答案.docx》由会员分享,可在线阅读,更多相关《C++面向对象程序设计高起专复习题专业课程期末复习题含答案.docx(26页珍藏版)》请在冰豆网上搜索。
C++面向对象程序设计高起专复习题专业课程期末复习题含答案
仲恺农业工程学院
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.share
B.public
C.private
D.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/2
B.9/2.0 9/2
C.9.0/2 9/2
D.9/2 9.0/2.0
答案:
A.
解析:
无.
23.(单选题)程序设计中,首先在问题域中识别出若干个()(本题1.0分)
A.函数
B.类
C.文件
D.过程
答案:
B.
解析:
无.
24.(单选题)定义类模板用关键字()(本题1.0分)
A.const
B.new
C.delete
D.template
答案:
D.
解析:
无.
25.(单选题)关于虚函数的描述中,( )是正确的。
(本题1.0分)
A.虚函数是一个静态成员函数
B.虚函数是一个非成员函数
C.虚函数既可以在函数说明时定义,也可以在函数实现时定义
D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型
答案:
D.
解析:
无.
26.(单选题)下列关于动态联编的描述中,错误的是()。
(本题1.0分)
A.动态联编是以虚函数为基础
B.动态联编是运行时确定所调用的函数代码的
C.动态联编调用函数操作是指向对象的指针或对象引用
D.动态联编是在编译时确定操作函数的
答案:
D.
解析:
无.
27.(单选题)下面4个选项中,( )是用来声明虚函数的。
(本题1.0分)
A.virtual
B.public
C.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.public
B.Protected
C.private
D.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
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.template
B.template
C.template
D.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
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 面向 对象 程序设计 高起专 复习题 专业课程 期末 答案