第2章 函数和引用.pptVIP

  • 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 类型 函数名(《参数表》) {

文档评论(0)

1亿VIP精品文档

相关文档