- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
练习2c
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1. 静态成员函数没有()
A. 返回值
B. this指针
C. 指针参数
D. 返回类型
答案:B
解析:(P107)静态成员函数是普通的函数前加入static,它具有函数的所有的特征:返回类型、形参,所以使用静态成员函数,指针可以作为形参,也具有返回值。
静态成员是类具有的属性,不是对象的特征,而this表示的是隐藏的对象的指针,因此静态成员函数没有this 指针。
静态成员函数当在类外定义时,要注意不能使用static关键字作为前缀。由于静态成员函数在类中只有一个拷贝(副本),因此它访问对象的成员时要受到一些限制:静态成员函数可以直接访问类中说明的静态成员,但不能直接访问类中说明的非静态成员;若要访问非静态成员时,必须通过参数传递的方式得到相应的对象,再通过对象来访问。
2. 在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()
A. 友元函数
B. 虚函数
C. 构造函数
D. 析构函数
答案:C
解析:(P75)定义构造函数作用就是初始化对象,而析构函数释放对象空间。虚函数用于完成多态性,友元增加访问方便性。
3. 所有在函数中定义的变量,都是()
A. 全局变量
B. 局部变量
C. 静态变量
D. 寄存器变量
答案:B
解析:(P136)变量存储类可分为两类:全局变量和局部变量。
(1)全局变量:在函数外部定义的变量称为全局变量,其作用域为:从定义变量的位置开始到源程序结束。全局变量增加了函数之间数据联系的渠道,全局变量作用域内的函数,均可使用、修改该全局变量的值,但是使用全局变量降低了程序的可理解性,软件工程学提倡尽量避免使用全局变量。
(2)局部变量:在函数内部定义的变量称为局部变量,其作用域为:从定义变量的位置开始到函数结束。局部变量包含自动变量(auto)静态变量(static)以及函数参数。
auto变量意味着变量的存储空间的分配与释放是自动进行的。说明符auto可以省略。函数中的局部变量存放在栈空间。在函数开始运行时,局部变量被分配内存单元,函数结束时,局部变量释放内存单元。因此,任两个函数中的局部变量可以同名,因其占有不同的内存单元而不影响使用。这有利于实现软件开发的模块化。
static变量是定义在函数体内的变量,存放在静态存储区,不用栈空间存储,其值并不随存储空间的释放而消失。
4. 假定AB为一个类,则执行“AB a(2), b[3],*p[4];”语句时调用该类构造函数的次数为()
A. 3
B. 4
C. 5
D. 9
答案:B
解析:(P79)a(2)调用1次带参数的构造函数,b[3]调用3次无参数的构造函数,指针没有给它分配空间,没有调用构造函数。所以共调用构造函数的次数为4。
5. 如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()
A. a.operator++(1)
B. operator++(a)
C. operator++(a,1)
D. a.operator++()
答案:D
解析:(P186)运算符的重载,前缀先让变量变化。调用++a,等价为a.operator++(),注意无参的形式。后缀的话a++,等价于a.operator(0),带形参,形参名可省。
6. 已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明()
A. f1和f2都是静态函数
B. f1不是静态函数,f2是静态函数
C. f1是静态函数,f2不是静态函数
D. f1和f2都不是静态函数
答案:C
解析:(P107)普通成员函数可以调用静态函数,相反静态函数不能调用普通成员函数,这与普通函数与常成员函数相同。因此选择C项。
7. 一个函数功能不太复杂,但要求被频繁调用,则应把它定义为 ()
A. 内联函数
B. 重载函数
C. 递归函数
D. 嵌套函数
答案:A
解析:(P59)内联函数特征代码少,频繁调用,执行效率高。重载函数解决统一接口的问题;递归是子程序调用,程序调用要耗费很多空间和时间,循环/迭代都比递归有效率得多,递归只是从形式上,逻辑比较简洁。嵌套函数即反复调用,速度较慢。所以选择A项。
8. 解决定义二义性问题的方法有()
A. 只能使用作用域分辨运算符
B. 使用作用域分辨运算符或成员名限定
C. 使用作用域分辨运算符或虚基类
D. 使用成员名限定或赋值兼容规则
答案:B
解析:(P139)解决二义性问题主要要两种方法:(1)赋值兼容规则;(2)虚基类。
9. 在main函数中可以用p.a的形式访问派生类对象p的基类成
您可能关注的文档
最近下载
- VW75174_Ch_2010-04_汽车连接器_试验标准.pdf VIP
- 物理学发展与人类文明课件.ppt VIP
- 销售人员必备四川省成都市金堂县医疗机构分布明细.doc VIP
- 可控核聚变即人造太阳的知识科普团课ppt.pptx VIP
- fagor发格BCSD_数字无刷交流伺服驱动系统用户手册_1809.pdf
- 11J930住宅建筑构造图集.docx VIP
- 2025年教科版(2024)小学科学三年级上册(全册)教学设计(附目录P171).docx
- 初中英语译林版单词表七上-中英对照-默写版.pdf VIP
- 学习使用UPO2104CS数字荧光示波器.pdf VIP
- 物理学与人类文明 课件.ppt VIP
文档评论(0)