面向对象程序设计 第四讲C艹+语言基础 5.4函数 堂提要 5.5数组与指针 第五章C++基础 51C++概述 52数据和表达式 53基本语句 54函数 55数组与指针
第五章 C++基础 5.1 C++概述 5.2 数据和表达式 5.3 基本语句 5.4 函数 5.5 数组与指针 第四讲 C++语言基础 5.4 函数 5.5 数组与指针
面向对象程序设计 引用 (reference):C+的特点 什么是引用:引用是一个别名,是某一个 目标对象的替代名.对所有加于引用上的 操作实际上就是加于引用的目标对象之 堂提要 第五章C++基础 例如:intx ∥定义了变量x 51C++概述 int&rx=x,∥定义了x的一个引用 52数据和表达式 53基本语句 问题:1.为什么要用引用? 5.4函数 2.引用与指针的区别? 55数组与指针 3.引用的功能是什么? 4.在引用的使用中要注意什么?
第五章 C++基础 5.1 C++概述 5.2 数据和表达式 5.3 基本语句 5.4 函数 5.5 数组与指针 引用(reference): C++的特点 什么是引用: 引用是一个别名, 是某一个 目标对象的替代名. 对所有加于引用上的 操作实际上就是加于引用的目标对象之 上. 例如: int x; //定义了变量 x int &rx = x; //定义了x的一个引用 问题: 1. 为什么要用引用? 2. 引用与指针的区别? 3. 引用的功能是什么? 4. 在引用的使用中要注意什么?
面向对象程序设计 传值调用和引用调用 例2:希望通过传值调用交换变量值 #include <iostream.h> void Swap(int,int);∥声明函数 堂提要 void main() intx-4,y=8;∥定义变量 第五章C++基础 cout << n Before Swap=<<X 51C++概述 endl 52数据和表达式 Swap(x, y) ∥调用函数 53基本语句 cout << n After Swap x<<X 5.4函数 endl 55数组与指针 void Swap(int a, int b)int t=a; a=b; b=t;) 结果 Before Swap x=4,y=8为什么? After Swap x=4,y=8传值调用
第五章 C++基础 5.1 C++概述 5.2 数据和表达式 5.3 基本语句 5.4 函数 5.5 数组与指针 传值调用和引用调用 例2: 希望通过传值调用交换变量值 #include <iostream.h> void Swap(int, int); //声明函数 void main( ) { int x=4, y=8; //定义变量 cout << "\n Before Swap x= "<< x << " , y= "<< y << endl; Swap(x, y); //调用函数 cout << "\n After Swap x=" << x << " , y= "<< y << endl; } void Swap(int a, int b) {int t=a; a=b; b=t; } 结果: Before Swap x=4, y=8 After Swap x=4, y=8 为什么? 传值调用
面向对象程序设计 例:通过指针调用交换变量值 #include <iostream. h void Swap(int*,int*),/声明函数 void main() intx-4,y=8;∥定义变量 堂提要 cout<<n Before Swap x<X y << endl 第五章C++基础 Swap(&x&y),/通过指针调用函数51C+概述 cout <<"n After Swap x=<<x 52数据和表达式 y < endl; i 53基本语句 void Swap(int*a, int*b) 5.4函数 {int;t=*a;*a=*b;,*b=t;} 55数组与指针 结果 Before Swap x=4,y=8为什么? After Swap x=8,y=4指针调用
第五章 C++基础 5.1 C++概述 5.2 数据和表达式 5.3 基本语句 5.4 函数 5.5 数组与指针 例: 通过指针调用交换变量值 #include <iostream.h> void Swap(int*, int*); //声明函数 void main( ) { int x=4, y=8; //定义变量 cout << "\n Before Swap x= "<< x << " , y= "<< y << endl; Swap(&x, &y); //通过指针调用函数 cout << "\n After Swap x=" << x << " , y= "<< y << endl; } void Swap(int *a, int *b) {int t; t=*a; *a=*b; *b=t; } 结果: Before Swap x=4, y=8 After Swap x=8, y=4 为什么? 指针调用
面向对象程序设计 例:通过引用调用交换变量值 #include <iostream.h> void Swap(int&,int&);∥声明函数 void main() intx-4,y=8;∥定义变量 堂提要 cout<<n Before Swap x<X y < endl 第五章C++基础 Swap(xy);,∥调用函数 51C++概述 cout <<"n After Swap x=<<x 52数据和表达式 y < endl; i 53基本语句 void Swap(int &a, int &b) 5.4函数 fint t=a; a=b; b=t;) 55数组与指针 结果 Before Swap x=4,y=8为什么? After Swap x=8,y=4引用调用
第五章 C++基础 5.1 C++概述 5.2 数据和表达式 5.3 基本语句 5.4 函数 5.5 数组与指针 例: 通过引用调用交换变量值 #include <iostream.h> void Swap(int&, int&); //声明函数 void main( ) { int x=4, y=8; //定义变量 cout << "\n Before Swap x= "<< x << " , y= "<< y << endl; Swap(x, y); //调用函数 cout << "\n After Swap x=" << x << " , y= "<< y << endl; } void Swap(int &a, int &b) {int t=a; a=b; b=t; } 结果: Before Swap x=4, y=8 After Swap x=8, y=4 为什么? 引用调用