文档详情

C++对象的函数成员及全局函数.ppt

发布:2017-06-04约1.58万字共93页下载文档
文本预览下载声明
第5章 对象的函数成员与全局函数 教学内容 函数的定义与调用 内联函数 函数的重载 函数模板 变量的存储属性 第5章 对象的函数成员与全局函数 重点、难点 函数的定义与调用 函数的递归调用(栈的应用) 函数的重载 函数模板 变量的存储属性 第5章 对象的函数成员与全局函数 教学目标 熟练掌握函数的定义与调用 掌握函数的递归调用 掌握内联函数的概念 掌握函数的重载与函数模板的使用 掌握变量的存储属性 第5章 对象的函数成员与全局函数 5.1 定义函数的一般形式 5.2 函数调用与参数传递 5.3 函数的嵌套调用与递归调用 5.4 内置函数 5.5 函数重载 5.6 函数模板 5.7 有默认参数的函数 5.8 变量的存储属性 5.0 函数概述 函数概述 函数概述 函数的作用与特点: (1)提高程序源代码的重复使用率。 (2)函数被作为一个特殊的独立“语句”——“表达式” 来使用。 (3)函数的内部流程是独立、封闭、原则上无交叉的。 5.1 函数定义与调用语句 5.1.1 函数分类 从用户角度 标准函数 用户自定义函数 C++中的函数分为标准库函数和用户自定义函数。标准库函数由C++系统提供,可以直接使用,但需要在程序中包含相应的头文件;用户自定义函数是由用户自己根据需要编写的。 从函数形式 无参函数 有参函数 5.1.2 函数的定义 函数的定义实例 函数的定义实例 int prime( unsigned long num ) //有参函数 { int ret=1; for( unsigned long l=3; l=num/2; l++ ) if( !(num%l) ){ ret = 0; break; } return ret; //返回函数返回值 } 说明 (1)类型说明符指出函数的类型,即函数返回值的类型。没有返回值时,其类型说明符为void。 (2)参数表由零个、一个或多个参数组成。如果没有参数称为无参函数,反之称为有参函数。 (3)在定义函数时,参数表内给出的参数需要指出其类型和参数名。 (4)函数体由说明语句和执行语句组成,实现函数的功能。 (5)C++不允许在一个函数体内再定义另一个函数,即不允许函数的嵌套定义。 5.1.3 函数的返回值 返回值实例 返回值 【实例5-1-1】函数类型与return语句中表达式的类型不一致的函数应用实例。 5.1.4 函数调用 函数调用实例 5.1.5 函数原型的声明 C++要求函数在被调用之前,应当让编译器知道该函数的原型,以便编译器利用函数原型提供的信息去检查调用的合法性,强制参数转换成为适当类型,保证参数的正确传递。对于标准库函数,其声明在头文件中,可以用#include宏命令包含这些原型文件。 函数原型的声明 对于用户自定义函数,先定义、后调用的函数可以不用声明,但后定义、先调用的函数必须声明。一般为增加程序的可理解性,常将主函数放在程序开头,这样需要在主函数前对其所调用的函数一一进行声明,以消除函数所在位置的影响。 函数原型的声明 【实例5-1-3】函数原型说明实例 。 5.2 函数调用的参数传递 5.2.1 函数的参数 (1)形参 形参出现在函数定义的函数头中,其作用域仅在函数定义中有效。 关键:哪些变量作形参?已知数据作形参。 (2)实参 实参出现在函数调用语句中,其作用在调用函数中。 5.2.2 函数参数的传递方式 形参和实参的结合方式有3种:传值调用、传地址调用和引用调用。 形参、实参的关系实例 形参、实参的关系实例 形参、实参的关系实例 形参、实参的关系实例 5.3 函数的嵌套调用与递归调用 函数的嵌套调用实例 5.3.2 函数的递归调用 函数的递归调用 函数递归调用实例 函数递归调用实例 函数递归调用实例 函数递归调用实例 5.4 内联函数 内嵌函数实例 内联函数 内嵌函数实例 5.5 函数重载 函数重载实例 函数重载 函数重载实例 函数重载实例 函数重载实例 5.6 函数模板(function template) 函数模板实例 函数模板实例 5.7 具有缺省参数值的函数  具有缺省参数值的函数实例  具有缺省参数值的函数  具有缺省参数值的函数实例  具有缺省参数值的函数实例 5.8 变量的存储属性 局部变量实例 局部变量 局部变量实例 局部变量实例 2 全局变量 全局变量 全局变量实例 5.8.2 变量的存储类别 auto 存储
显示全部
相似文档