《计算机网络原理》第3章函数和函数模板-精选课件.pptx

上传人:君**** 文档编号:85121595 上传时间:2023-04-10 格式:PPTX 页数:38 大小:298.80KB
返回 下载 相关 举报
《计算机网络原理》第3章函数和函数模板-精选课件.pptx_第1页
第1页 / 共38页
《计算机网络原理》第3章函数和函数模板-精选课件.pptx_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《《计算机网络原理》第3章函数和函数模板-精选课件.pptx》由会员分享,可在线阅读,更多相关《《计算机网络原理》第3章函数和函数模板-精选课件.pptx(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第3章函数和函数模版章函数和函数模版n n3.1函数的参数及其传递方式函数的参数及其传递方式C语言中参数传递方式只有一种语言中参数传递方式只有一种:值传递值传递值传递分为值传递分为:变量值传递和变量地址值传递变量值传递和变量地址值传递C+中分为中分为:值传递和地址传递值传递和地址传递(引用传递引用传递)n n3.1函数的参数及其传递方式函数的参数及其传递方式12ba xy12 t12 xyn n3.1函数的参数及其传递方式函数的参数及其传递方式12ba2000200020022002 xy t2000200020022002n n3.1函数的参数及其传递方式函数的参数及其传递方式要注意区分要

2、注意区分:参数传递中传地址和传地址值不同参数传递中传地址和传地址值不同.设计函数时要注意设计函数时要注意:对象作参数对象作参数,对象指针作参数对象指针作参数,对象引用作参数对象引用作参数n n3.1函数的参数及其传递方式函数的参数及其传递方式3.1.1对象作函数参数对象作函数参数作用同作用同C语言中普通变量作参数语言中普通变量作参数n n3.1函数的参数及其传递方式函数的参数及其传递方式3.1.2对象指针作函数参数对象指针作函数参数作用同作用同C语言中变量指针作参数语言中变量指针作参数n n3.1函数的参数及其传递方式函数的参数及其传递方式3.1.3引用作为函数参数引用作为函数参数引用的声明形

3、式引用的声明形式:数据类型数据类型&别名别名=对象名对象名;int x=56;int&a=x;int&b=a;则则a为为x变量变量(对象对象)的引用的引用,a和和x对应同一个内对应同一个内存空间存空间.a未单独分配内存未单独分配内存.b为为a的引用的引用.n n3.1函数的参数及其传递方式函数的参数及其传递方式3.1.3引用作为函数参数引用作为函数参数引用的声明形式引用的声明形式:数据类型数据类型&别名别名=对象名对象名;int x=56;int&a=x;int&b=a;b=10;则则a为为x变量变量(对象对象)的引用的引用,a和和x对应同一个内对应同一个内存空间存空间.a未单独分配内存未单独

4、分配内存.b为为a的引用的引用.程序中引用对象的改变会使得被引用对象发生改程序中引用对象的改变会使得被引用对象发生改变变.n n3.1函数的参数及其传递方式函数的参数及其传递方式3.1.3引用作为函数参数引用作为函数参数引用作函数参数引用作函数参数:类型类型 函数名函数名(类型类型&参数参数,)函数调用时函数调用时,实参对象名传递给形参对象名实参对象名传递给形参对象名,形参形参对象名成为实参的别名对象名成为实参的别名,函数中对形参的改变就函数中对形参的改变就会导致实参值的改变会导致实参值的改变.n n3.1函数的参数及其传递方式函数的参数及其传递方式3.1.3引用作为函数参数引用作为函数参数引

5、用作函数参数引用作函数参数:类型类型 函数名函数名(类型类型&参数参数,)函数调用时函数调用时,实参对象名传递给形参对象名实参对象名传递给形参对象名,形参形参对象名成为实参的别名对象名成为实参的别名,函数中对形参的改变就函数中对形参的改变就会导致实参值的改变会导致实参值的改变.n n3.1函数的参数及其传递方式函数的参数及其传递方式3.1.3引用作为函数参数引用作为函数参数引用作函数参数引用作函数参数:类型类型 函数名函数名(类型类型&参数参数,)n n3.1函数的参数及其传递方式函数的参数及其传递方式3.1.3引用作为函数参数引用作为函数参数引用作函数参数引用作函数参数 说明说明:1)引用对

6、象不是一个独立对象引用对象不是一个独立对象,不占用内存不占用内存.2)对象的指针作参数时对象的指针作参数时,指针变量中存放实参对指针变量中存放实参对象的地址象的地址.3)引用对象作参数时引用对象作参数时,函数调用时形参对象和实函数调用时形参对象和实参对象共用一个内存单元参对象共用一个内存单元.引用数组名作参数引用数组名作参数引用数组名作参数引用数组名作参数一般格式一般格式:typedef:typedef 类型类型 类型别名类型别名使用使用typedeftypedef定义某类型别名后定义某类型别名后,可使用该别名可使用该别名来定义相关对象来定义相关对象.例如例如:typedef long int

7、 lint;则则 long int i;等价于等价于 lint i;Typedef使用说明使用说明typedeftypedef用法总结用法总结:建立一个类型别名的方法很建立一个类型别名的方法很简单简单,在传统的变量声明表达式里用类型名替在传统的变量声明表达式里用类型名替代变量名代变量名,然后把关键字然后把关键字typedeftypedef加在该语句的加在该语句的开头开头 等价于等价于n n3.1函数的参数及其传递方式函数的参数及其传递方式3.1.4默认参数默认参数函数调用时函数调用时,可以为函数指定实参可以为函数指定实参,也可不指定实也可不指定实参参,未指定实参时未指定实参时,函数自动取默认值

8、函数自动取默认值.n n3.1函数的参数及其传递方式函数的参数及其传递方式3.1.4默认参数默认参数#include#include using namespace std;void sayhello(string sname,string words=hello)coutwords snameendl;void main()string name1=zhangsan;string words1=nihao;string words2=how are you;string words3=how do you do;sayhello(name1);sayhello(name1,words1);s

9、ayhello(name1,words2);sayhello(name1,words3);n n3.1函数的参数及其传递方式函数的参数及其传递方式3.1.4默认参数默认参数函数调用时函数调用时,可以为函数指定实参可以为函数指定实参,也可不指定实也可不指定实参参,未指定实参时未指定实参时,函数自动取默认值函数自动取默认值.注意注意:若函数第若函数第n个参数是默认参数个参数是默认参数,当调用函数需要指当调用函数需要指定该参数值时定该参数值时,则该参数前的所有参数都必须指则该参数前的所有参数都必须指定定.n n3.2深入讨论函数的返回值深入讨论函数的返回值n n3.2深入讨论函数的返回值深入讨论函数

10、的返回值3.2.1返回引用的函数返回引用的函数Int&index(int i)return ai;返回一个引用的主要目的是为了将函数用在赋值运算符的左边.n n3.2深入讨论函数的返回值深入讨论函数的返回值3.2.2返回指针的函数返回指针的函数定义数据个数定义数据个数定义指向数据的指针定义指向数据的指针利用利用input函数输入数据函数输入数据若指向数据的指针非空若指向数据的指针非空 则输出数据则输出数据n n3.2深入讨论函数的返回值深入讨论函数的返回值3.2.2返回指针的函数返回指针的函数输入数据个数存入输入数据个数存入nn n3.2深入讨论函数的返回值深入讨论函数的返回值3.2.3返回对

11、象的函数返回对象的函数n n3.2深入讨论函数的返回值深入讨论函数的返回值3.2.2返回指针的函数返回指针的函数补充补充说明说明:new语句语句 delete语句语句 NULLNew格式格式:指针变量指针变量=new 类型类型nDelete格式格式:delete 指针变量指针变量NULL表示空表示空n n3.2深入讨论函数的返回值深入讨论函数的返回值3.2.3返回对象的函数返回对象的函数n n3.2深入讨论函数的返回值深入讨论函数的返回值3.2.4返回值作为函数参数返回值作为函数参数#include using namespace std;int max(int,int)void main()

12、coutmax(55,max(25,39)m2)?m1:m2;定义函数时定义函数时,加加inline关键字表示该函数为内联关键字表示该函数为内联函数函数.n n3.33.3内联函数内联函数定义函数时定义函数时,加加inline关键字表示该函数为内联关键字表示该函数为内联函数函数.程序中的内联函数在程序编译时程序中的内联函数在程序编译时,将函数体替换将函数体替换至程序中函数调用位置至程序中函数调用位置,造成程序变长造成程序变长,效率提高效率提高.注意注意:内联函数中不能出现循环、内联函数中不能出现循环、switch语句语句 内联函数一般短小内联函数一般短小,不宜过长不宜过长 应在调用之前声明或定

13、义应在调用之前声明或定义n n3.33.3内联函数内联函数n n3.4函数重载和默认参数函数重载和默认参数同一个函数名实现多种功能同一个函数名实现多种功能,在在C+中称为多态中称为多态,可利用函数重载和默认参数两种方式实现可利用函数重载和默认参数两种方式实现n n3.4函数重载和默认参数函数重载和默认参数同一个函数名实现多种功能同一个函数名实现多种功能,在在C+中称为多态中称为多态,可利用函数重载和默认参数两种方式实现可利用函数重载和默认参数两种方式实现定义或声明函定义或声明函数时数时,给出参给出参数初始化值数初始化值,则函数调用时则函数调用时若省略参数若省略参数,则参数取该初则参数取该初始化

14、值始化值.称为称为默认参数默认参数.n n3.4函数重载和默认参数函数重载和默认参数同一个函数名实现多种功能同一个函数名实现多种功能,在在C+中称为多态中称为多态,可利用函数重载和默认参数两种方式实现可利用函数重载和默认参数两种方式实现注意注意:函数重载和默认参数可同时使用函数重载和默认参数可同时使用.若已定义默认参数函数若已定义默认参数函数,则不能重载参数类型相则不能重载参数类型相同同,参数个数少于默认参数个数的函数参数个数少于默认参数个数的函数.n n3.4函数重载和默认参数函数重载和默认参数同一个函数名实现多种功能同一个函数名实现多种功能,在在C+中称为多态中称为多态,可利用函数重载和默

15、认参数两种方式实现可利用函数重载和默认参数两种方式实现注意注意:函数重载和默认参数可同时使用函数重载和默认参数可同时使用.若已定义默认参数函数若已定义默认参数函数,则不能重载参数类型相则不能重载参数类型相同同,参数个数少于默认参数个数的函数参数个数少于默认参数个数的函数.参数类型参数类型不同时不同时,可以重载可以重载.n n3.5函数模板函数模板有些函数重载时参数个数相同有些函数重载时参数个数相同,只是类型只是类型不同不同,此时重载函数比较繁琐此时重载函数比较繁琐,可利用函可利用函数模板实现数模板实现.n n3.5函数模板函数模板有些函数重载时参数个数相同有些函数重载时参数个数相同,只是类型只

16、是类型不同不同,此时重载函数比较繁琐此时重载函数比较繁琐,可利用函可利用函数模板实现数模板实现.n n3.5函数模板函数模板有些函数重载时参数个数相同有些函数重载时参数个数相同,只是类型只是类型不同不同,此时重载函数比较繁琐此时重载函数比较繁琐,可利用函可利用函数模板实现数模板实现.n n3.5函数模板函数模板函数模板定义格式函数模板定义格式:定义函数模板后定义函数模板后,函数调用时根据函数参数来函数调用时根据函数参数来类型来确定调用哪个版本的函数类型来确定调用哪个版本的函数.函数执行时函数执行时确定参数类型的函数称为模板函数确定参数类型的函数称为模板函数.n n3.5函数模板函数模板此种形式调用中此种形式调用中称为函数模板的参数称为函数模板的参数一般可省略一般可省略.Typename可替代可替代classn n3.5函数模板函数模板若某函数参数类型不一致时若某函数参数类型不一致时,也可定义函数模也可定义函数模板板.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁