- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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; //错误
可以建立
您可能关注的文档
- 2012届高三数学复习ppt课件(广东文)第11章第6节圆锥曲线的综合问题.ppt
- 2012届高三数学复习ppt课件(广东文)第15章第1节合情推理与演绎推理.ppt
- 2017年苏教版小学语文六年级下册《读书要有选择》教学ppt课件.ppt
- 2017年pep六年级上册readand write说课ppt课件.ppt
- ppt课件2008北师大版小学数学一年级下册动手做.ppt
- 2017年青岛版小学科学五年级下册第21课《齿轮》教学ppt课件.ppt
- RNA的生物合成转录 ppt课件.ppt
- IDE的使用和程序调试技巧 ppt课件.ppt
- Special English(英文) ppt课件.ppt
- X线计算机断层摄影术 ppt课件.ppt
- 【可行性报告】2023年碳化硅相关行业可行性分析报告.docx
- 【可行性报告】2023年计价秤相关项目可行性研究报告.docx
- 【可行性报告】2023年高档餐饮相关项目可行性研究报告.docx
- 【可行性报告】2023年橡胶型密封胶相关行业可行性分析报告.docx
- 2023年转向系统:齿轮相关项目实施方案.docx
- 2023年百里香酚相关项目运行指导方案.docx
- 【可行性报告】2023年课外书籍相关行业可行性分析报告.docx
- 2023年VR直播相关项目实施方案.docx
- 【可行性报告】2023年热熔胶胶膜相关行业可行性分析报告.docx
- 【可行性报告】2023年闸阀相关行业可行性分析报告.docx
文档评论(0)