ppt课件课件.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ppt课件课件

C++面向对象程序设计 第一章 C++的初步知识;第一章 C++的初步知识 第二章 类和对象 第三章 再论类和对象 第四章 运算符重载 第五章 继承与派生 第六章 多态性与虚函数 第七章 输入输出流 第八章 C++工具;参考教材;学时分配;1.1 C++程序结构的特点;一个C++的示范程序;C语言中,用#define 定义常量: #define PI 3.14159 #define R a+b 它只是在预编译时进行字符置换,将标识符置换成表达式或数字。预编译后,标识符PI,R不再存在。PI,R不是变量,没有类型,不占用存储单元,很容易出错: int a=1,b=2; #define PI 3.14159 #define R a+b coutPI * R * R; 输出的不是3.14159 * (a+b) * (a+b),而是 3.14159 * a+b * a+b。 程序因此出错。 ;C++进行了改进,用 const 定义常变量。如: const float PI = 3.14159; 它定义了常变量PI,有数据类型,占用存储单元,有地址,可以用指针指向它,只是在程序运行中,此变量的值固定,不能改变。;1.3 函数原型申明;函数申明和定义的示例;程序可以改为如下形式:;1.4 函数的重载(overloading);而C++的做法是重载:将这三个函数名取相同的名字,程序运行时,系统会根据实际参数的不同,调用相近参数的函数:;1.5 函数模板;#include iostream using namespace std; //默认使用std标准库名 template typename T; T max (T a, T b, T c) // 建立函数模板时,只需要 { if (ba) a=b; // 将函数类型、参数类型 int 换成 T 就行。 if (ca) a=c; // 即用虚拟的类型名T代替实际的类型 return a; } void main( ) { int i = 8, j = 3, k = 4, h; long m = 1, n = 2, p = 3, q; h = max ( i, j, k); q = max ( m, n, p); cout int_h = hendl; cout long_q = qendl; };由此程序可以看到,函数模板比函数重载更方便,但模板只适用于函数的参数个数相同而类型不同,且函数体相同的情况。不满足这种情况时,就只能使用函数重载。;1.6 有默认参数的函数;1.6 有默认参数的函数;1.7 变量的引用(reference);1.7 变量的引用(reference);示例: #include iostream using namespace std; void main( ) { int a = 10; int b = a; a = a * a; cout b = bendl; } 运行结果:b = 100 ;将引用作为函数参数:C++之所以增加引用,主要是利用它作为函数参数,以弥补函数传递参数的不方便的遗憾。也降低了编程难度。 将变量名作为实参:这时传给形参的是变量的值,传递是单向的,函数运行时,形参发生变化,并不回传给实参。因为形参和实参不是同一个存储单元。请看下面示例:;传递变量的指针:这时传给形参的是变量的地址,形参得到一个变量的地址,即形参指针变量指向实参变量单元。函数中形参发生改变,实际上是改变实参。 这种方法实际上仍然是值传递:想指针变量传递地址值。然后通过指针变量访问有关变量。间接地回传了改变的变量。请看下面示例:;传递变量的别名:将变量的引用作为函数形参,弥补了上面两种方法的不足。请看下面示例: 注意:swap函数形参a,b是指定整形变量的引用作为形参,但引用谁还没定。而main函数中,用一,i, j的名调用swap,就是将i, j的名字传给引用,这样a就成立i的别名,b就成立j 的别名。;如何理解引用?我们从物理实现上来理解,引用是一个隐性指针,即引用值是引自所指向的实体。这就是引用的真意。高级编程(面向应用)多用引用,低级编程(面向机器)多用指针。 对引用的说明: 不能建立void类型的引用。因为任何实际存在的变量都属于非void类型。 void a = 9; //错误 不能对数组名进行引用,因为数组名是首地址本身不占有存储空间。 char c[6] = hello; char r =c; //错误 可以建立

文档评论(0)

gz2018gz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档