面向对象编程(复习)ppt课件.ppt

面向对象编程(复习)ppt课件.ppt

ID:59484772

大小:116.00 KB

页数:46页

时间:2020-09-13

面向对象编程(复习)ppt课件.ppt_第1页
面向对象编程(复习)ppt课件.ppt_第2页
面向对象编程(复习)ppt课件.ppt_第3页
面向对象编程(复习)ppt课件.ppt_第4页
面向对象编程(复习)ppt课件.ppt_第5页
资源描述:

《面向对象编程(复习)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象编程复习1函数调用形式传值传值调用是指在发生函数调用时,先计算实参表达式的值,并直接将各实参的值依次赋值给各形参。单向传递,即由实参到形参;形参的值不能影响实参的值。传地址调用将实参的地址传递给形参。实参必须用地址值,形参用指针变量。通过形参指针可以对实参进行间接读写。引用调用引用可以作为函数的返回值类型和形参,使用引用作为函数的形参时,主调函数的实参需要使用变量名。函数调用时,将实参值传递给形参,实际上是被调用函数使用了实参的别名,因而形参的改变本质上就是对实参的改变。2内联函数内联函数必须在函数第一次出现

2、时由inline指定;内联函数代码不宜太大,原则上适宜于1~5行代码的小函数,且该函数出现频率高;不能含有复杂的分支或循环等语句;递归调用的函数不能定义为内联函数。类中定义的成员函数自动成为内联函数,若内联成员函数在类外实现,需要以inline限定。inline返回值类型函数名(形式参数表){函数语句序列}3带默认参数的函数带默认参数的函数指在定义函数时给函数中的部分参数以默认值。当调用语句给出函数的参数值时,就按给定值调用函数当函数调用语句没有给出函数的参数值时,则按定义时的默认值调用函数默认参数必须出现在右边,非

3、默认参数在左边默认参数应在函数第一次出现时给定默认值4作用域函数原型作用域函数原型声明中形参变量的作用域起于函数原型声明的左括号,结束于函数原型声明的右括号;块作用域从块内的定义处开始,直到该块结束为止。函数作用域函数中使用的语句标号具有函数作用域,仅在本函数中有效。文件作用域在函数之外声明的标识符具有文件作用域,其作用域开始于声明处,结束于该文件的结束处。5生存期静态生存期:指变量或对象的生存期与程序的运行期同步,包括全局变量、静态全局变量和静态局部变量。局部生存期:生存期开始于声明处,结束于作用域结束处,如局部变

4、量。动态生存期:除上述两种情况外的其余情况。具有动态生存期的变量或对象诞生于声明处,结束于该标识符作用域的结束处。一般情况下,动态生存期由运算符new和delete或函数malloc和free创建和释放。static限定的局部变量称为静态局部变量。在整个程序的运行期间是存在的,但作用域却是局部的。6类对象的生存期局部对象:是被定义在一个程序块或函数体内的对象,它的作用域范围小、生存期短。静态对象:被定义在一个文件中,它的作用域从定义时开始到文件结束时止,它的作用域范围大,生存期也较长。全局对象:其作用在域整个程序中,

5、它的作用域范围最大、生存期也最长。7编译预处理C++编译过程分分编译预处理和正式编译。预处理指令均以#引导,每条预处理指令各占一行,没有分号结束符。文件包含指令和条件编译指令是常用的编译预处理指令。在C++中用const定义常量取代了C中的宏定义,用inline定义内联函数取代了C中的#define指令。8类成员访问控制表访问控制含义属性public公有成员类的外部接口protected保护成员仅允许本类成员函数及派生类成员函数访问private私有成员仅允许本类成员函数访问9类成员的访问圆点访问形式对象名.公有成员

6、指针访问形式对象指针变量名->公有成员(*对象指针变量名).公有成员10New运算符New运算符用于动态内存分配,使用形式如下:指针所指向的数据类型应与new运算符后的数据类型相同,若申请成功则返回分配单元的首地址给指针变量,否则返回空指针值(即0)给指针变量。动态分配了用于存放整型数据的内存空间,将初值写入该内存空间,并将首地址值返回指针变量。动态分配了指定数组元素的数组,同时将存储区的首地址指针返回给指针变量。(1)指针变量=new数据类型;(2)指针变量=new数据类型(初始值);(3)指针变量=new数据类型

7、[元素个数];11delete运算符delete只能删除由new分配的堆内存;对于一个指针只能使用一次delete操作;当delete用于释放由new创建的数组连续内存空间时,指针变量名前必须使用一对方括号,而且方括号内没有数字。使用形式:delete指针变量名;delete[]指针变量名;12构造函数构造函数的函数名与类名相同;构造函数可以有任意类型的参数,但没有函数返回值类型;构造函数可以重载;若构造函数没有参数,则称为无参构造函数;若构造函数带有参数,则称为带参数构造函数;构造函数在创建对象时由编译系统自动调用

8、;构造函数只能一次性地影响对象的数据成员初值。每个类都必须有一个构造函数。如果程序没有显式定义构造函数,编译系统将自动生成一个默认形式的构造函数。13析构函数析构函数不能有参数,也不能重载。除对象生存期结束时自动调用外,在以下两种情况下析构函数会被调用:如果一个对象被定义在一个函数体内,则当这个函数结束时。若一个对象是使用new运算符被动态创建

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。