C++语言基础教程 教学课件 作者 吕凤翥 1_ 第9章 类和对象(二).ppt

C++语言基础教程 教学课件 作者 吕凤翥 1_ 第9章 类和对象(二).ppt

ID:50041740

大小:149.50 KB

页数:30页

时间:2020-03-08

C++语言基础教程 教学课件 作者 吕凤翥 1_ 第9章 类和对象(二).ppt_第1页
C++语言基础教程 教学课件 作者 吕凤翥 1_ 第9章 类和对象(二).ppt_第2页
C++语言基础教程 教学课件 作者 吕凤翥 1_ 第9章 类和对象(二).ppt_第3页
C++语言基础教程 教学课件 作者 吕凤翥 1_ 第9章 类和对象(二).ppt_第4页
C++语言基础教程 教学课件 作者 吕凤翥 1_ 第9章 类和对象(二).ppt_第5页
资源描述:

《C++语言基础教程 教学课件 作者 吕凤翥 1_ 第9章 类和对象(二).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章类和对象(二)一.对象指针和对象引用二.对象数组和对象指针数组三.子对象和堆对象四.类的作用域和对象的生存期一、对象指针和对象引用1.对象指针对象指针的定义格式<类名>*<对象指针名>=<初值>对象指针可以被初始化,也可以被赋值。可以使用一个同表对象的地址值进行赋值,也可以使用运算符new的表达式进行赋值。(后边讲)见P237,例9.1,P238,例9.2,P239,例9.32.this指针this指针是系统自动创建的指向对象的指针.当使用对象调用成员函数时,系统便自动创建一个指向该对象的指针this.this指针通常被隐含使用,有时也被显式使用.见P

2、241,例9.43.指向类的成员的指针(1)指向类的数据成员的指针该指针指向类的某个数据成员,定义时应加上类名限定。具体格式如下:<类型><类名>::*<指针名>该指针可以使用该类中某个数据成员的地址进行初始化或赋值,使用时应加类名限定。即在数据成员地址值前加<类名>::。使用对象通过指向类的数据成员的指针引用该成员时用运算符·*;使用对象指针通过指向类的数据成员的指针引用该成员时用运算符->*。(2)指向类的成员函数的指针该指针指向类的某个成员函数,定义时应加上类名限定。具体格式如下:<类型><类名>::*<指针名>(<参数类>);该指针使用该类中某个成员

3、函数名进行初始化或赋值,使用时应加类名限定。使用对象通过指向类的成员函数的指针引用该成员时用运算符。*;使用对象指针通过指向类的成员函数的指针引用该成员时用运算符->*。见P243,例9.5(4)对象引用对象引用的创建格式如下:<类名>&<对象引用名>=<对象名>;引象引用是某个已知对象的别名引象引用通常用来作函数参数或返回值。见P245,例9.6二、对象数组和对象指针数组1.对象数组对象数组的定义格式、赋值方法及使用。见P247,例9.7。2.对象指针数组对象指针数组的定义格式、赋值方法及其使用。见P248,例9.83.指向对象数组的指针指向一堆对象数

4、组的指针的定义格式、赋值和使用。见P249,例9.9。三、子对象和堆对象1.子对象一个类的数据成员可以是另外类的对象,该对象称为子对象。子对象反映了两个类之间的包含关系,又称组合关系。类中的子对象的初始化应放在该类构造函数的成员初始化表中。见P251,例9.10。2.堆对象(1)堆对象的特点堆对象是一种被存放在内存堆注的对象,又称动态对象。它可以运行中创建并可以随时释放。使用运算符new创建堆对象,并使用运算符delefe释放它。(2)运算符new的使用。使用new可以创建一个对象,并可以进行初始化,具体格式如下:假定,P是表A的对象指针。A*P;p=ne

5、wA(初值);new运算符组成的表达式是一个地址值用来向内存申请内存单元,如果成功,其值为非0地址值,否则值为0。使用new也可以创建一个对象数组,但不能进行初始化,具体格式如下:A*P;p=newA[5];这里,P是一个指向A类对象数组的指针,该数组为5个元素,每个元素是A类的一个对象。该对象数组的5个元素可用指针表示为P[0],P[1],P[2],P[3]和P[4]。在使用new运算符创建对象时,系统会自动调用相应的构造函数。在创建对象数组时,系统自动调用默认的构造函数,然后,再给对象数组的各元素赋值。(3)运算符defete的使用使用delefe可以释放一

6、个堆对象,其格式如下:defete<指针名>;在用delefe释放堆对象时,系统自动调用析构函数。使用delefe也可以释放一个堆对象数组,其格式如下:delefe[]<指针名>;这时,系统会自动调用多次析构函数。见P254,例9.11,P255,例912四、类的作用域和对象的生存期1.类的作用域类域的范围是指该类的表体内。2.对象的生存期局部对象全局对象静态对象见P259,例9.133.局部类的嵌套类局部类是指定义在函数体内的类。见P260,例9.14嵌套类指的是在一个类中定义的类。见P262,例9.15作业题P267练习题99.1,9.2,9.3,9

7、.4,9.5(自选)上机练习题:P275,上机指导99.2中1~10题。

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

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

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