C++在结构化方面新增功能.pptVIP

  1. 1、本文档共49页,可阅读全部内容。
  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文档。上传文档
查看更多
* 3 使用说明 重载函数至少在参数个数、参数类型或参数顺序上有所不同。 不能用typedef定义的类型名来区分重载函数声明中的参数。 让重载函数执行不同的功能,是不好的编程习惯。 四、默认参数的函数 * 1.默认参数的目的 缺省实参是一种虽然并不普遍、但在多数情况下仍然适用的实参值。缺省实参使程序员从函数接口的每个小细节中解脱出来。 调用包含缺省实参的函数时,可以(也可以不)为该参数提供实参。如果提供了实参,则它将覆盖缺省的实参值。否则,函数将使用缺省实参值。例如: char *screenInit( int height = 24, int width = 80, char background = ); char *cursor; // 等价于 screenInit(24,80, ) cursor = screenInit(); // 等价于 screenInit(66, 88, ) cursor = screenInit(66); // 等价于 screenInit(66, 256, ) cursor = screenInit(66, 256); cursor = screenInit(66, 256, #); * 2 默认参数的声明 当又有声明又有定义时,定义中不允许使用默认参数。即只有当函数只有定义时,默认参数才可出现在函数定义中,但缺省实参只能用在包含该函数定义的文件的函数调用中。 函数声明可以为全部或部分参数指定缺省实参。在左边参数的任何缺省实参被提供之前,最右边未初始化参数必须被提供缺省实参。 例如: // 错误: 在指定height 之前, width 必须有一个缺省实参 char *screenInit( int height = 24, int width, char background = ); 一个参数只能在一个文件中被指定一次缺省实参。例如: // ff.h int ff( int = 0 ); // ff.C #include ff.h“ int ff( int i = 0 ) { ... } // error 缺省实参不一定必须是常量表达式可以使用任意表达式(全局变量、全局常量或函数),但不能是局部变量。例如: int aDefault(); int bDefault( int ); int cDefault( double = 7.8 ); int glob; int ff( int a = aDefault(),int b = bDefault( glob ),int c = cDefault() ); * 3 默认参数使用 函数调用的实参按位置解析,缺省实参只能用来替换函数调用缺少的尾部实参。 char *screenInit( int height = 24, int width = 80, char background = ); screenInit(); // screenInit(24,80, ) screenInit(66); // screenInit(66, 88, ) screenInit( , , ‘#’); //error screenInit( 24, , ‘#’); //error 五、省略号 * 主讲教师:刘红俊 * 有时候我们无法列出传递给函数的所有实参的类型和数目。在这种情况下,我们可以用省略号(...)指定函数参数表。 省略号挂起类型检查机制。它们的出现告知编译器,当函数被调用时,可以有0 个或多个实参,而实参的类型未知。省略号有下列两种形式: void foo( parm_list, ... ); void foo( ... ) 第一种形式为特定数目的函数参数提供了声明。在这种情况下,当函数被调用时,对于与显式声明的参数相对应的实参进行类型检查,而对于与省略号对应的实参则挂起类型检查。在第一种形式中,参数声明后面的逗号是可选的。 * 标准C 库输出函数printf()就是一个必须使用省略号的例子,printf()的第一个参数总是C风格字符串。 int printf( const char* ... ); 大多数带有省略号的函数都利用显式声明的参数中的一些信息,来获取函数调用中提供的其他可选实参的类型和数目。因此带有省略号的第一种形式的函数声明最常使用。 例如: #include stdio.h #include stdarg.h /* calculate sum of a 0 terminated list */ void sum(char *msg, ...)

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档