C++模拟题5问题详解

C++模拟题5问题详解

ID:47072113

大小:35.78 KB

页数:25页

时间:2019-07-16

C++模拟题5问题详解_第1页
C++模拟题5问题详解_第2页
C++模拟题5问题详解_第3页
C++模拟题5问题详解_第4页
C++模拟题5问题详解_第5页
资源描述:

《C++模拟题5问题详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档C++程序设计模拟试卷(五)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.静态成员函数没有()A.返回值B.this指针C.指针参数D.返回类型答案:B解析:(P107)静态成员函数是普通的函数前加入static,它具有函数的所有的特征:返回类型、形参,所以使用(P107)静态成员函数,指针可以作为形参,也具有返回值。静态成员是类具有的属性,不是对象的特征,而this表示的是隐藏的对象的指针,因此

2、静态成员函数没有this指针。静态成员函数当在类外定义时,要注意不能使用static关键字作为前缀。由于静态成员函数在类中只有一个拷贝(副本),因此它访问对象的成员时要受到一些限制:静态成员函数可以直接访问类中说明的静态成员,但不能直接访问类中说明的非静态成员;若要访问非静态成员时,必须通过参数传递的方式得到相应的对象,再通过对象来访问。2.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()A.友元函数B.虚函数文案大全实用文档C.构造函数D.析构函数答案:C解析:(P75)定

3、义构造函数作用就是初始化对象,而析构函数释放对象空间。虚函数用于完成多态性,友元增加访问方便性。3.所有在函数中定义的变量,都是()A.全局变量B.局部变量C.静态变量D.寄存器变量答案:B解析:(P136)变量存储类可分为两类:全局变量和局部变量。(1)全局变量:在函数外部定义的变量称为全局变量,其作用域为:从定义变量的位置开始到源程序结束。全局变量增加了函数之间数据联系的渠道,全局变量作用域内的函数,均可使用、修改该全局变量的值,但是使用全局变量降低了程序的可理解性,软件工程学提倡尽量避免使用全局变量。(2)局部变量:

4、在函数内部定义的变量称为局部变量,其作用域为:从定义变量的位置开始到函数结束。局部变量包含自动变量(auto)静态变量(static)以及函数参数。auto变量意味着变量的存储空间的分配与释放是自动进行的。说明符auto可以省略。函数中的局部变量存放在栈空间。在函数开始运行时,局部变量被分配内存单元,函数结束时,局部变量释放内存单元。因此,任两个函数中的局部变量可以同名,因其占有不同的内存单元而不影响使用。这有利于实现软件开发的模块化。static文案大全实用文档变量是定义在函数体内的变量,存放在静态存储区,不用栈空间存储

5、,其值并不随存储空间的释放而消失。4.假定AB为一个类,则执行“ABa(2),b[3],*p[4];”语句时调用该类构造函数的次数为()A.3B.4C.5D.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.

6、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)普通成员函数可以调用静态函数,相反静态函数不能调用普通成员函数,这与

7、普通函数与常成员函数相同。因此选择C项。7.一个函数功能不太复杂,但要求被频繁调用,则应把它定义为()A.内联函数B.重载函数C.递归函数D.嵌套函数答案:A解析:(P59)内联函数特征代码少,频繁调用,执行效率高。重载函数解决统一接口的问题;递归是子程序调用,程序调用要耗费很多空间和时间,循环/迭代都比递归有效率得多,递归只是从形式上,逻辑比较简洁。嵌套函数即反复调用,速度较慢。所以选择A项。8.解决定义二义性问题的方法有()A.只能使用作用域分辨运算符B.使用作用域分辨运算符或成员名限定C.使用作用域分辨运算符或虚基类

8、D.使用成员名限定或赋值兼容规则答案:B解析:(P139)解决二义性问题主要要两种方法:(1)赋值兼容规则;(2)虚基类。9.在main函数中可以用p.a的形式访问派生类对象p的基类成员a,其中a是()A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员答案:D解析:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。