- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程序设计模拟试卷(二)讲解
C++程序设计模拟试卷(二)
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中
只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无
分。
1. 静态成员函数没有()
A. 返回值
B. this指针
C. 指针参数
D. 返回类型
答案:B
解析:静态成员函数是普通的函数前加入static,它具有函数的所有的特征:返回类型、
形参,所以使用(P107)静态成员函数,指针可以作为形参,也具有返回值。静态成员是类具有的
属性,不是对象的特征,而this表示的是隐藏的对象的指针,因此静态成员函数没有this 指针
。静态成员函数当在类外定义时,要注意不能使用static关键字作为前缀。由于静态成员函数在
类中只有一个拷贝(副本),因此它访问对象的成员时要受到一些限制:静态成员函数可以直接
访问类中说明的静态成员,但不能直接访问类中说明的非静态成员;若要访问非静态成员时,必
须通过参数传递的方式得到相应的对象,再通过对象来访问。
2. 假定AB为一个类,则执行“AB a(2), b[3],*p[4];”语句时调用该类构造函数的次数
为()
A. 3
B. 4
C. 5
D. 9
答案:B
解析:a(2)调用1次带参数的构造函数,b[3]调用3次无参数的构造函数,指针没有给它
分配空间,没有调用构造函数。所以共调用构造函数的次数为4。
3. 有关多态性说法不正确的是()
A. C++语言的多态性分为编译时的多态性和运行时的多态性
B. 编译时的多态性可通过函数重载实现
C. 运行时的多态性可通过模板和虚函数实现
D. 实现运行时多态性的机制称为动态多态性
答案:C
解析:多态性分为静态的和动态的。静态通过函数的重载来实现,动态是通过基类指针或
基类引用和虚函数来实现的。所以错误的是C项。
4. 假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语
句后,x.a和x.b的值分别为()
A. 1和0
B. 1和4
C. 4和0
D. 4和1
答案:A
解析:带默认的构造函数,对应实参没有值时就采用形参值。调用构造函数时,i=1,不采
用默认值,而只有一个参数,j采用默认值0即j=0,因此a=1,b=0,选择A项。
5. 类MyA的拷贝初始化构造函数是 ()
A. MyA()
B. MyA(MyA*)
C. MyA(MyA)
D. MyA(MyA)
答案:C
解析:复制即拷贝构造函数使用对象的引用作形参,防止临时产生一个对象,A无参构造函
数,B是指针作为形参,D项是对象,所以选择C项。
6. 在C++中,函数原型不能标识()
A. 函数的返回类型
B. 函数参数的个数
C. 函数参数类型
D. 函数的功能
答案:D
解析:函数的声明,说明函数的参数、返回类型以及函数名,函数体即实现部分决定功能。所以
函数的原型不能决定函数的功能。
7. 友元关系不能()
A. 提高程序的运行效率
B. 是类与类的关系
C. 是一个类的成员函数与另一个类的关系
D. 继承
答案:D
解析:友元可以是函数与类的关系即友元函数,也可以类与类的关系即友元类,但友元不
能继承,是单向性,且不具有传递性。友元可以访问类中所有成员,提高了访问的方便性。因此
选择D项。
8. 实现两个相同类型数加法的函数模板的声明是()
A. add(T x,T y)
B. T add(x,y)
C. T add(T x,y)
D. T add(T x,T y)
答案:D
解析:实现两个相同类型数加法结果应该和操作数具有相同类型。进行加法运算后结果也
是和参数具有相同类型,需要返回值。A无返回值时要用void,B形参无类型,C形参y没有类型
,所以选择D项。
9. 在int a=3,int *p=a;中,*p的值是()
A. 变量a的地址值
B. 无意义
C. 变量p的地址值
D. 3
答案:D
解析:*p代表引用a变量的值,p代表a的地址值。所以选择D项。
10. 下列不是描述类的成员函数的是()
A. 构造函数
B. 析构函数
C. 友元函数
D. 拷贝构造函数
答案:C
解析:构造函数、析构函数、拷贝构造函数都是特殊的成员函数,友元则不是成员函数。
所以选择C项。
11. 如果从原有类定义新类可以实现的是()
A. 信息隐藏
B. 数据封装
C. 继承机制
D. 数据抽象
答案:C
解析:继承指在原有类的基础上产生新类。数据封装即数据和操作组合在一起,形成类。
信息的隐藏,通过访问权限来实现。数据抽象,将事物的特征抽象为数据成员或服务。因此选择
C项。
12. 下面有关类说法不正确的是()
A. 一个类可以有多个构造函数
B. 一个类只有一个析构函数
C
文档评论(0)