- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 6.2.2 参数个数不同的重载函数 #include iostream.h int min(int a, int b); int min(int a, int b, int c); int min(int a, int b, int c, int d); void main( ) { cout min(13,5,4,9) endl; cout min(-2,8,0); } int min(int a, int b) { return ab ? a : b; } 调用 min(int,int,int,int ) 调用 min(int,int,int ) * int min(int a, int b, int c) { int t = min(a,b); return min(t,c); } int min(int a, int b, int c, int d) { int t1 = min(a,b); int t2 = min(c,d); return min(t1,t2); } 6.2.3 参数次序不同的重载函数 char * get(char *s, char ch); char * get(char ch, char *s); // 其实是参数类型不同的一种特例 6.3 重载函数的“二义性”错误 int print(int); double print(int); void main() { int a=10, b=20; print(a); // 二义性 print(b); // 二义性 } 返回值类型不同,参数相同 调用哪个print??? 6.3 重载函数的“二义性”错误(续) int print(const int ); int print(int ); void main() { int a=10, b=20; print(a); // 二义性 print(b); // 二义性 } 仅用了const或引用造成的参数类型不同 调用哪个print??? 6.3 重载函数的“二义性”错误(续) 使用了修饰符造成的的参数类型不同的函数,可能引起二义: void print(unsigned int ); void print(int); void main(){ print(1l); // 二义性 print(1u) ; // OK,无二义 } 1l 既可转换成unsigned int,又可转换成int。 调用哪个print??? 6.3 重载函数的“二义性”错误(续) 缺省参数引起的二义性: void print(int a , int b=1); void print(int a); void main(){ print(1); } 调用哪个print??? 到底是一个参数的print,还是取缺省值b为1的print. 6.4 编译器如何处理重载函数? C的函数编译后通常为 _cdecl_funcname(); 如:int max(int,int) 编译后为: int _cdecl_max()(0040260); 为了支持重载,C++的函数编译后通常为 _cppdecl_funcname_parameter_...(); 如:int max(int,int); int max(int,int,int) 编译后为: int _cppdecl_max_int_int()(0080330) ; int _cppdecl_max_int_int_int()(0100280) ; * 关于extern “C” 声明: 强制C++编译器按C的函数命名规则去连接相应的目标代码。 call _cdecl_max()(0040260); extern “c” max(a,b); 编译为: 作业: 例题:例2.8~例2.14 习题:5、6、7、8 * * * * * * * * * * * * * * * * * * * * * * 作业: P: 36 1 2 3 4 3 作用域 变量的可见范围 3.1 作用域 作用域:标识符的可见范围 作用域的种类: 程序级 (全局级
您可能关注的文档
最近下载
- 成都第四十九中学新初一分班英语试卷.doc VIP
- 中经金融高频考点.doc VIP
- 竞聘演讲稿经营管理部部长.pptx
- 学堂在线 中医养生方法学 章节测试答案.docx VIP
- 整村授信专题培训ppt课件.pptx
- 2025年科技强国爱国主题班会《科技强国 强国有我》课件.pptx VIP
- 《常州武进常州燊荣金属科技有限公司“1·20”较大粉尘爆炸事故调查报告》警示教育专题培训.pptx VIP
- 智能化弱电工程投标文件的技术部分标书范本.docx VIP
- 行业分类专题研究:行业分类标准2.0版及修订说明-20200102-中信证券.pdf VIP
- 深圳市翰林学校英语新初一分班试卷.doc VIP
文档评论(0)