- 1
- 0
- 约7.1千字
- 约 28页
- 2018-08-20 发布于江苏
- 举报
第2章 函数和引用
* 陕西理工学院 计算机系 《C++程序设计》 第 * 页 第2章 函数与引用 2.1 函数概述 2.2 函数重载 2.3 内联函数 2.4 具有默认参数值的函数 2.5 引用 小结及练习题 第2章 函数与引用 教学目的 了解简单的C++程序的特点; 掌握函数重载; 掌握内联函数与一般函数的区别 了解参数特殊的函数 掌握引用,区分引用调用与值调用的区别. 教学重点与难点 本章重点: 函数重载; 内联函数; 参数特殊的函数 引用。 本章难点 : 函数重载; 内联函数与一般函数的区别; 引用调用与值调用的区别 第2章 函数与引用 2.1 函数概述 C++语言程序的结构特点: 程序整体由一个或多个称为函数的程序块组成 每个函数都具有各自独立的功能和明显的界面 2.1 函数概述 问题1:函数是什么? 就是编写完成函数功能的程序块 问题2:函数定义的一般格式? 函数值类型 函数名(形式参数表 ) { 函数体 } 问题3:函数返回值类型? 数值类型、指针类型、void类型 2.1 函数概述 2.2 函数重载 函数的重载又称函数名重载,是指同一个函数名可以有多个函数实现,或者说实现不同功能的函数可以具有相同的函数名。 两个条件 参数的个数不同 参数的类型不同 一组参数和返回值不同的函数共用一个函数名。 2.2 函数重载 当某个函数中调用到重载函数时,编译器会根据实参的类型去对应地调用相应的函数。匹配过程如下: (1)如果有严格匹配的函数,就调用该函数; (2)参数内部转换后如果匹配,调用该函数; (3)通过用户定义的转换寻求匹配。 2.2 函数重载 例2-1: void print(double); void print(int); void func(){ print(1); print(1.0); print(double); print(3.1415f); pirnt(double); } 2.2 函数重载 例2-2 利用参数类型的不同实现重载函数。 #includeiostream using namespace std; int Abs(int x) { cout调用函数Abs(int).\n; return x=0 ? x : -x; } double Abs(double x) { cout调用函数Abs(double).\n; return x=0 ? x : -x;} void main () { cout-20的绝对值是:Abs(-20)endl; cout-111.11的绝对值是:Abs(-111.11)endl; } 2.2 函数重载 int max(int a,int b); int max(int a,int b,int c); int max(int a,int b,int c,int d); void main () { coutmax(3,5)endl; coutmax(-7,9,0)endl; coutmax(23,15,3,6)endl;} int max(int a,int b) { return ab ? a : b; } int max(int a,int b,int c) { int t=max(a,b); return max(t,c);} int max(int a,int b,int c,int d) { int t1=max(a,b); int t2=max(c,d); return max(t1,t2);} 例2-3 利用参数个数不相同实现重载函数。 2.2 函数重载 定义重载函数需要注意以下两点: 1)定义的重载函数必须具有不同的参数个数或不同的参数类型,只有这样编译系统才能根据不同的参数决定调用哪一个函数版本。 2)仅仅是函数返回值不同并不能区分两个函数,因此不能根据函数的返回值定义函数的重载,否则会发生二义性的错误。 例如: int sum(int a) {…..} void sum(int a) { ……} 2.2 函数重载 2.3 内联函数 将一个函数声明为内联函数时,只要在函数定义前加关键字inline即可,格式如下: ? inline 类型 函数名(《参数表》) {
您可能关注的文档
- 第12课俄国农奴制改革(上)7.ppt
- 第13章 动量矩定理-01.4.ppt
- 第13章ActieX控件.ppt
- 第13章ADO.ET数据访问技术.ppt
- 第13讲 聚类分析().ppt
- 第13课从蒸汽机互联网.doc
- 第13章 程序性胞死亡与细胞衰老.ppt
- 第14章 Rose地双向工程.ppt
- 第14章城市公共施规划设计标准.doc
- 第14章催化过程中应用的几种耦合技术4.ppt
- 2026年烟台汽车工程职业学院单招职业适应性测试题库含答案详解.docx
- 放射性废物多屏障防护安全规范.ppt
- 2026年上海中医药大学单招职业技能考试题库含答案详解.docx
- 2026年安徽机电职业技术学院单招综合素质考试题库及答案详解.docx
- 2026年德阳农业科技职业学院单招综合素质考试题库及答案详解.docx
- 2026年山东科技职业学院单招职业适应性测试题库及答案详解.docx
- 2026年上海立达学院单招职业技能考试题库含答案详解.docx
- 2026年扬州市职业大学单招职业适应性测试题库含答案详解.docx
- 2026年湖南省株洲市高职单招职业适应性测试考试题库及答案详解.docx
- 销售管理方法.pdf
原创力文档

文档评论(0)