- 0
- 0
- 约4.01千字
- 约 32页
- 2019-05-14 发布于广东
- 举报
第四讲C++对C的扩展功能 苏州大学计算机科学与技术学院 注释 C语言注释 /* */ C++注释 /* */ 注释一段 // 注释一行或一行的后半部分 更加灵活 良好注释可以增强程序可读性 注释是调试程序的常用手段 定义局部变量 C语言 规定局部变量必须定义在函数的第一个可执行语句之前 古板 C++ 只要保证在使用之前定义 按需定义,方便灵活 引用 引用是别名 int i,j; int ri=i; //建立一个int型的引用ri,并将其 //初始化为变量i的一个别名 j=10; ri=j;//相当于 i=j; 与取地址符类似 如何区分? 引用的类型和被引用类型应该相同 引用(续) 声明一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象。 一旦一个引用被初始化后,就不能改为指向其它对象。 C语言函数参数的传递 按值传递:最多 按地址传递:靠数组和指针实现 C++添加了引用传递参数 例 输入两个整数交换后输出 #includeiostream.h void Swap(int a, int b); int main( ) { int x(5), y(10); coutx=x y=yendl; Swap(x,y); coutx=x y=yendl; return 0; } Swap用传值方法编写 void Swap(int a, int b) { int t; t=a; a=b; b=t; } 运行结果(不能交换) x=5 y=10 x=5 y=10 Swap用传址方法编写 void Swap(int* a, int* b) { int t; t=*a; *a=*b; *b=t; } Main中调用语句需要修改为 Swap(x,y) 运行结果: x=5 y=10 x=10 y=5 Swap用传引用方法 void Swap(int a, int b) { int t; t=a; a=b; b=t; } 运行结果: x=5 y=10 x=10 y=5 引用(续) 引用作为形式参数的优点 书写简单 高效(节约存储) 可以从函数中带回值 函数需要返回多个值,可以使用 内联函数 声明时使用关键字 inline。 编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销。 注意: 内联函数体内不能有循环语句和switch语句。 内联函数的声明必须出现在内联函数第一次被调用之前。 是请求,不是命令 以空间换时间 内联函数例子 #includeiostream.h inline double CalArea(double radius) { return 3.14*radius*radius; } int main( ) { double r(3.0); double area; area=CalArea(r); coutareaendl; return 0; } 具有缺省参数值的函数 函数在声明时可以预先给出默认的形参值 调用时如给出实参,则采用实参值 否则采用预先给出的默认形参值 具有缺省参数值的函数(续1) 可以提供多个参数的,但必须靠右原则 否则导致二义性 例: int add(int x,int y=5,int z=6) //正确 int add(int x=1,int y=5,int z) //错误 int add(int x=1,int y,int z=6) //错误 具有缺省参数值的函数(续2) 也可以通过函数声明的方式提供缺省参数值 缺省形参值的作用域 在相同的作用域内,缺省形参值的说明应保持唯一,但如果在不同的作用域内,允许说明不同的缺省形参。 例: int add(int x=1,int y=2); void main(void) { int add(int x=3,int y=4); add( ); //使用局部缺省形参值(实现3+4) } void fun(void) { ... add( ); //使用全局缺省形参值(实现1+2) } 重载 面向对象的重要特征之一 静态的多态 所谓重载就是同一个符号在不同的上下文中代表不同的含义。 分类 重载函数 重载运算符 方便使用,便于记忆 一个实际问题 C语言中求绝对值 int abs(int) double fabs(double) long labs(long) 函数的调用者负担大 能否三个函数具有相同名称? 重载函数 重载函数 功能相近的函数在相同的作用域内具有相同函数名 要求: 函数形式参数类型不同 int a
您可能关注的文档
- 苏州大学东吴商学院(财经学院)基础会计学课件第三章 复式记账.ppt
- 苏州大学东吴商学院(财经学院)基础会计学课件第十章 财务报表.ppt
- 苏州大学东吴商学院(财经学院)基础会计学课件第四章 基本经济业务的核算.ppt
- 苏州大学东吴商学院(财经学院)基础会计学课件第五章 成本计算.ppt
- 苏州大学东吴商学院(财经学院)基础会计学课件第一章 总论.ppt
- 苏州大学机电工程学院机电一体化系统设计课件 第八章.ppt
- 苏州大学机电工程学院机电一体化系统设计课件 第二章.ppt
- 苏州大学机电工程学院机电一体化系统设计课件 第九章.ppt
- 苏州大学机电工程学院机电一体化系统设计课件 第六章.ppt
- 苏州大学机电工程学院机电一体化系统设计课件 第七章.ppt
最近下载
- 科达监控平台2.0的介绍及配置.ppt
- 基本能力测验三支一扶考试试题及答案指导(2024年).docx VIP
- 2025-2026学年浙江杭州学军中学高二上学期1月月考数学试卷含详解.docx VIP
- 山东省德州市乐陵市2024-2025学年七年级上学期1月期末数学试题.docx VIP
- 中大班-社会-非遗里的春节-课件(互动版).pptx VIP
- 2023龙岩市物理八年级上册期末试卷.doc
- 山东省德州市乐陵市2024-2025学年七年级上学期1月期末数学试题.docx VIP
- 广东省2025三支一扶考试真题.docx VIP
- 农村三资管理报账流程.pptx VIP
- 3D3S简介桁架87课件讲解.pptx VIP
原创力文档

文档评论(0)