网站大量收购闲置独家精品文档,联系QQ:2885784924

2025年c++第二阶段考试--答案 .pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

百学须先立志。——朱熹

C++第二阶段考试

考试时间:90分钟

一、选择题(3分*10=30分)

1.在结构化程序设计中,模块划分的原则是()

A.各模块应包括尽量多的功能B.各模块的规模应尽量大

C.各模块之间的联系应尽量紧密D.模块内高内聚度,模块间低耦合度

2.下面选项中不属于面向对象程序设计特征的是()。

A.继承性B.多态性C.重载性D.封装性

注:

重载函数的定义:在相同的声明域中的函数名相同的,而参数表不同的,即通过函数的参数表而唯一标

识并且来区分函数的一种特殊的函数。

编译器判断重载函数的第一步是确定该调用中所考虑的重载函数的集合,该函数集合被称为候选函数

(candidantfunction)。所谓候选函数就是与被调用函数同名的函数。

编译器判断重载函数的第二步分为两动作。

第一个动作是编译器从第一步选出的候选函数中调出可行函数(viablefunction)。可行函数的函数参

数个数与调用的函数参数个数相同(如S(int)),或者可行函数的参数可以多一些,但是多出来的函

数参数都要有相关的缺省值(如S(double,double=1.2);)

第二个动作是根据参数类型的转换规则将被调用的函数实参转换(conversion)成候选函数的实参。这

里本着充分利用参数类型转换的原则,换句话说,尽可能的使用上参数类型转换。当然转换要以候选函

数为转换的目标。

编译器判断重载函数的第三步是从第二步中选出的可行函数中选出最佳可行函数(bestmatch

situation)。在最佳可行函数的选择中,从函数实参类型到相应可行函数参数所用的转化都要划分等级,

根据等级的划分(ranked),最后选出最佳可行函数

3.为了取代C中带参数的宏,在C++中使用()

A.重载函数B.内联函数C.递归函数D.友元函数

注:

优点

1.inline定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换,(像宏一样展

开),没有了调用的开销,效率也很高。

2.很明显,类的内联函数也是一个真正的函数,编译器在调用一个内联函数时,会首先检查它的参数的

类型,保证调用正确。然后进行一系列的相关检查,就像对待任何一个真正的函数一样。这样就消除了它

的隐患和局限性。

3.inline可以作为某个类的成员函数,当然就可以在其中使用所在类的保护成员及私有成员。

慎用内联

内联能提高函数的执行效率,为什么不把所有的函数都定义成内联函数?如果所有的函数都是内联函数,

还用得着“内联”这个关键字吗?内联是以代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而

百川东到海,何时复西归?少壮不努力,老大徒伤悲。——汉乐府

提高函数的执行效率。如果执行函数体内代码的时间,相比于函数调用的开销较大,那么效率的收获会很

少。另一方面,每一处内联函数的调用都要复制代码,将使程序的总代码量增大,消耗更多的内存空间。

以下情况不宜使用内联:

(1)如果函数体内的代码比较长,使用内联将导

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档