函数,函数与运算符的重载

函数,函数与运算符的重载

ID:40110696

大小:339.31 KB

页数:38页

时间:2019-07-21

函数,函数与运算符的重载_第1页
函数,函数与运算符的重载_第2页
函数,函数与运算符的重载_第3页
函数,函数与运算符的重载_第4页
函数,函数与运算符的重载_第5页
资源描述:

《函数,函数与运算符的重载》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、函数在C++程序设计中的意义体现在四个方面:(1)从历史上说,函数的思想来源于子程序,把程序中反复出现的相同或相近的程序改写成子程序,可以大大缩短程序的长度。函数实际上是参数化的子程序。(2)从结构化程序设计(SP)的观点来看,更重要的是通过函数设计,可以把整个程序要完成的整体的复杂的计算任务,分解为一个个较小的,相对简单的子任务。这种模块化的程序易设计,易阅读,易调试,易维护,较少出错。(3)从运算的角度说,函数就是C++语言提供的由用户定义的运算。运算符是系统提供的运算,而函数是由用户自己定义的运算。1(4)作为面向对象程序设计(OOP)语言的C++,以类

2、为核心,类由数据和方法组成,方法就是对数据的运算和处理,亦即类的函数成员。故函数设计同样是OOP的重要组成部分。5.1三次方程求根程序的设计5.2函数的说明与使用5.2.1函数说明C++程序允许两种函数说明语句的形式,我们把它们分别称为函数原型(或函数声明)和函数定义。21.函数原型函数原型用来指出函数的名称、类型和参数,其格式为:[<属性说明>]<类型><函数名>(<参数表>);属性说明:可缺省,一般可以是下面的关键字之一:inline,static,virtual,friend等。inline表示该函数为内联函数;static表示该函数为静态(内部)函数;

3、virtual表示该函数为虚函数;friend表示该函数为某类(class)的友元函数。3函数原型一般在两种情形下被使用:①在程序中某函数的调用语句出现在该函数的定义之前,这时必须在调用语句之前列出函数原型。②为了类定义的简明清晰,一般把较大的函数成员定义移到类说明之外,这时应把该函数的原型列于类说明之中。42.函数定义函数定义与函数原型的主要区别是它还包括函数体,其格式为:[〈属性说明〉]〈类型〉〈函数名〉(〈参数表〉)〈函数体〉属性说明,返回类型,函数名与函数原型一致,参数表中不可省略参数名。函数体:由{和}括起来的复合语句即程序块。55.2.2函数调用函

4、数调用是已定义函数的一次实际运行,与某类型的一个变量,某类的一个对象类似,函数调用也是函数定义的一个“实例”。函数调用的两要素是函数名和实参表。具体的调用实施过程如下:(1)根据调用语句中的函数名在整个程序中搜索同名函数定义;(2)对实参数的参数个数,类型,顺序进行核对,判定是否与函数定义中的形参表对应一致,6(3)根据参数的类型(值参数或引用参数)进行值参数的值传递或引用参数的换名;(4)运行函数体代码;(5)返回调用点,并返回所要求的函数值。5.2.3函数的返回函数的返回完成两项任务:把运行控制从函数体返回到函数调用点。根据返回值要求,返回所需要的数据值。

5、7函数的返回值有下面几种情形:1.返回void类型如果函数无值返回,应说明为void类型。2.返回数值类型最常见的函数是返回一个数值的函数。3.返回引用类型值返回方式是C和Pascal语言中唯一的返回方式,C++语言提供的引用返回概念是其特有的一种很强的功能,当函数定义中把该函数说明为某类型的引用类型时,该函数调用后返回的不单是值,而是包含返回值的变量(或对象)。85.2.4函数的参数C++语言允许函数无参、有一个或多个参数,而且还支持不定个数参数的函数。无参函数:其函数说明为下列形式:voidprint(void);intgetx();用void或空表示无参

6、。(2)一个或多个参数:(3)不定个数参数:有些应用问题中参数个数是变化的。处理参数个数不定的情形,可有不同的途径。9如:voidsort(intn,float*a);这个函数可对n长的浮点数组进行排序,n是变化的;由于a是数组的首地址,因此这个函数实际上是可以进行对任意多个浮点数排序的处理。C++语言有的版本还提供一些库函数,支持处理形如:voidabc(inti,…);的不定参数函数。C++语言,允许参数表中包含无名参数,主要是为了区分函数,例如:intf(inta,intb){returna+b*b;}intf(inta,intb,int){return

7、a*a+b;}两个不同的函数同名,但由于第二个函数包含一无名参数,使得在调用时能够被区分,f(x,y)是第一个函数的调用,f(x,y,0)是第二个函数的调用。10C++程序还允许为函数定义可缺省参数(即参数有默认值。当对应的实参缺省时,该形参将使用默认值。),这种函数调用时具有灵活性,例如:intsqrsum(inta,intb,intc=0) {returna*a+b*b+c*c;}其中参数c为可缺省参数,下面的调用方式都是合法的(x,y,z为int型变量):sqrsum(x,y,z)sqrsum(x+y,x-y)sqrsum(x,y)参数表中可有任意多个参

8、数指定为可缺省参数,但所有可缺省参数必

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

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

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