函数重载和变量的作用域.ppt

函数重载和变量的作用域.ppt

ID:56464357

大小:137.00 KB

页数:20页

时间:2020-06-19

函数重载和变量的作用域.ppt_第1页
函数重载和变量的作用域.ppt_第2页
函数重载和变量的作用域.ppt_第3页
函数重载和变量的作用域.ppt_第4页
函数重载和变量的作用域.ppt_第5页
资源描述:

《函数重载和变量的作用域.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、教学目的与要求:了解函数的重载的目的。掌握函数重载的使用,数据的作用域与生存期。教学内容提要:1、C++函数重载;2、C++的作用域与可见性;3、C++中的编译预处理;教学重点:函数重载和作用域与可见性。教学难点:函数重载和作用域与可见性。教学进度:P31~P35教学过程:第5讲函数重载和作用域函数的重载是指建立多个同名的函数,但函数的形参表必须互不相同。不相同可是形参个数不同,也可是形参的类型不同,还可两者都不相同。例如:intfun(int,int);intfun(int);longfun(int,long);longfun(long);重载函数的返回

2、类型,即函数类型可以相同,也可以不同。如果仅仅是返回类型不同,而函数名相同、形参表也相同,则是非法的。例如:intfun(inta,intb);longfun(inta,intb);例如:intfun(inta,intb);intfun(intx,inty);函数重载又称函数的多态性。它通过改变形参的个数或类型使多个函数共用一个函数名。合法的重载函数不合法的说明:合法的。但不是重载。它只是对同一函数原型的多次声明。【5.1重载函数】使用重载函数#includeintadd(inta,intb);longadd(longa,longb

3、);floatadd(floata,floatb);doubleadd(doublea,doubleb);voidmain(){intinteger1=100,integer2=200;longlongint1=200L,longint2=400L;floatfloatdigit1=5.5f,floatdigit2=10.6f;doubledoubledigit1=5.5e22,doubledigit2=4.4e20;cout<<″INT:″<

4、G:″<

5、d(longa,longb){cout<<″Inlongadd(longa,longb)″<

6、na+b;}当重载的函数带有默认参数时,应该注意避免二义性。注不要将不同功能的函数声明为重载函数,以免出现调用结果的误解、混淆。这样不好:例如:intfun(inta,intb=0);intfun(inta);说明:遇到fun(2)的函数调用时,编译器将无法准确地确定应调用哪个函数。INT:Inintadd(inta,intb)100+200=300LONG:Inlongadd(longa,longb)200+400=600FLOAT:Infloatadd(floata,floatb);5.5+10.6=16.1DOUBLE:Indoubleadd(dou

7、blea,doubleb)5.5e+022+4.4e+020=5.544e+022(续)函数原型作用域块作用域文件作用域类作用域【5.2作用域与可见性】作用域:讨论的是标识符号的有效范围;可见性:讨论的是标识符是否可以引用。作用域;一个标识符在程序正文中有效的区域。函数原型中的参数,其作用域始于 "(",结束于")"。例如,设有下列原型声明:voidmain()doubleArea(doubleradius);radius=10.0;radius的作用域仅在于此,不能用于程序正文其它地方,因而可有可无。【5.2.1函数原形的作用域】在块中声明的标识符,其作

8、用域自声明处起,限于块中,例如:voidfun(inta){int

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

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

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