四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第三章

上传人:壹****1 文档编号:588079129 上传时间:2024-09-07 格式:PPT 页数:50 大小:329.02KB
返回 下载 相关 举报
四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第三章_第1页
第1页 / 共50页
四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第三章_第2页
第2页 / 共50页
四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第三章_第3页
第3页 / 共50页
四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第三章_第4页
第4页 / 共50页
四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第三章_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第三章》由会员分享,可在线阅读,更多相关《四川大学计算机学院精品课程,面向对象程序设计C,游洪越,第三章(50页珍藏版)》请在金锄头文库上搜索。

1、 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社主讲教师: 游洪跃个人主页: 教学支持网:http:/211.83.120.3/2024/9/71主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社教材:教材:C+面向对象程序设计面向对象程序设计李涛李涛 主编主编游洪跃游洪跃 陈良银陈良银 李琳等编李琳等编高等教育出版社高等教育出版社2006年年2月出版月出版2024/9/72主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃

2、高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社本书本书内容内容 2024/9/73主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社提纲派生类的构造函数与析构函数派生类的构造函数与析构函数第三章第三章 继承继承ARM Vector TableFIQIRQ(Reserved)Data AbortPrefetch AbortSoftware InterruptUndefined InstructionReset0x1C0x180x140x100x0C0

3、x080x040x001 13 32 2继承方式继承方式类的继承与派生类的继承与派生4 4虚基类虚基类5 5聚合类聚合类6 6继承应用实例继承应用实例2024/9/74主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社 3.1 类的继承与派生类的继承与派生继承与派生实例继承与派生实例q继承是软件重用的一种形式。继继承是软件重用的一种形式。继承是将自然界中存在的普遍和特承是将自然界中存在的普遍和特殊关系用程序设计的方式进行分殊关系用程序设计的方式进行分类描述类描述; ;q在设计新类时,允许

4、重用某个原在设计新类时,允许重用某个原有类的所有特征(除访问权限为有类的所有特征(除访问权限为privateprivate的特征而外的特征而外),),并在此基并在此基础上添加新类的新特征。础上添加新类的新特征。2024/9/75主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社q被重用的原有类称为基类被重用的原有类称为基类base base classclass而新创建的类称为派生类而新创建的类称为派生类derived classderived class。q派派生生类类不不会会影影响响

5、到到原原有有类类的的结结构构。2024/9/76主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社 3.1 类的继承与派生类的继承与派生q 某一小型公司的实例:某一小型公司的实例:2024/9/77主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.1 类的继承与派生类的继承与派生针针对对该该公公司司的的情情况况,先先设设计计一一个个一一般般员员工工类类CCompanyStaff

6、,代代表表员员工工的的共共性性;让让三三个个新新类类分分别别继继承承一一般般员员工工类类CCompanyStaff, ,然然后后根根据据各各自自的的差差异异性性,新新类类可可以以对继承来的内容进行改造。对继承来的内容进行改造。2024/9/78主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.1 类的继承与派生类的继承与派生派生类的定义派生类的定义q从从已已有有类类产产生生新新类类的的过过程程就就是是类的派生。类的派生。q定义语法如下:定义语法如下: class class :, 2

7、 ; 2024/9/79主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社q继承方式分为三种关键字继承方式分为三种关键字: :public、private和和protected;q单继承(只有一个基类名)和单继承(只有一个基类名)和多继承;多继承;q该公司情况的该公司情况的C+C+例题程序例题程序 第第3 3章章 CCompanyStaff.hCCompanyStaff.h:2024/9/710主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II

8、四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.1 类的继承与派生类的继承与派生q经理、销售人员、行政人员这三个派经理、销售人员、行政人员这三个派生类在声明语句中分别指定了它们的基生类在声明语句中分别指定了它们的基类类CCompanyStaff,以及它们的继承方式以及它们的继承方式public;特殊员工特殊员工销售部经理销售部经理(既是经理又(既是经理又是销售人员),让它是销售人员),让它同时继承经理类同时继承经理类Cmanager和销售人员类和销售人员类Csaleman;属于属于多继承多继承,有关多继承的问题将在本章后,有关多继承的问题将在本章后面讨论面讨论2024/9/

9、711主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.1 类的继承与派生类的继承与派生继承的级别继承的级别 q 增加行政主管一职,员工关系增加行政主管一职,员工关系图如下:图如下:2024/9/712主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.1 类的继承与派生类的继承与派生q用C+语言描述三个类的前向引用声明,形成了一个“类家族”:class CCompanySt

10、aff; /基类员工 Class CAdminStaff : public CCompanyStaff ; /派生类行政人员继承员工 class CForeAdmin : public CAdminStaff; /派生类行政主管继承行政人员2024/9/713主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.2 继承方式继承方式q基类不受派生类变化的影响;q派生类继承了基类访访问问权权限限为为privateprivate的的数数据据成成员员而而外外的全部数据成员和除了构造函数析构函数

11、和访访问问权权限限为为privateprivate的的成成员员函函数数而而外外的全部成员函数,但是派生类的派生类(如A派生出B,B派生出C,则C为A的派生类的派生类)能否访问这些成员还要受继承方式的约束;2024/9/714主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.2 继承方式继承方式q类的继承方式有public、private和protected三种,其中private是缺省的继承方式;q 公有继承:基类各成员的访问权限如果是public或protected则在派生类中保持

12、不变而基类中的private成员对派生类不可见,如图:2024/9/715主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.2 继承方式继承方式2024/9/716主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社 q例例3.1 3.1 一个公有继承的例子一个公有继承的例子 : :q 基基类类A A的的所所有有成成员员在在派派生生类类中中的的访访问问控制权限都保持不变。控制权限

13、都保持不变。q 私有继承:私有继承:私私 有有 继继 承承 下下 , 基基 类类 访访 问问 权权 限限 为为pulicpulic, ,pretectedpretected的的成成员员在在派派生生类类中中一一律律以以privateprivate的的身身份份出出现现, ,连连派派生生类类的的对对象象也也无无法法访访问问到到只只有有派派生生类类的的函函数数能能在在类类内内访访问问它它们们。基基类类访访问问权权限限为为privateprivate的成员在派类中不可见的成员在派类中不可见 3.2 继承方式继承方式2024/9/717主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃

14、 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.2 继承方式继承方式q如如果果希希望望私私有有继继承承来来的的某某些些基基类类的的成成员员函函数数在在派派生生类类中中也也能能对对外外可可见见,就就需需要要在在派派生生类类中中对这些成员公有化。对这些成员公有化。q例例3.2 3.2 私有继承中的公有化私有继承中的公有化:2024/9/718主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.2 继承方式继承方式q 私私有有继继承承后后的的基基类

15、类成成员员成成为为了了派派生生类类的的私私有有成成员员, , 实实际际上上相相当当于于终终止止了了基基类类功功能能的的继继续续派派生。生。2024/9/719主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.2 继承方式继承方式保护继承:保护继承:q protectedprotected访问权限:访问权限:设计基类时,在隐藏成员的设计基类时,在隐藏成员的同时还要允许派生类的成员能同时还要允许派生类的成员能访问到,这时访问到,这时protected protected 就比就比priv

16、ateprivate更合适;更合适;例例3.3 3.3 保护权限举例保护权限举例:2024/9/720主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.2 继承方式继承方式qprotectedprotected继承继承;保保护护继继承承下下基基类类各各成成员员的的访访问问 权权 限限 ( (除除 privateprivate外外 ) )都都 以以protectedprotected权限出现;权限出现;q比比较较私私有有继继承承和和保保护护继继承承,可可以以看看出出在在直直接接派派生生

17、类类中中两两者者的的效效果果实实际际上上都都相相同同,但但如如果果再再继续派生下去就会出现区别;继续派生下去就会出现区别;2024/9/721主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.2 继承方式继承方式q假假设设有有A-B-CA-B-C这这样样一一个个继继承承顺顺序序如如果果B B私私有有继继承承A A后后又又派派生生出出C C那那么么C C就就无无法法再再间间接接继继承承A A的的成成员员对对A A功功能能的的继继承承在在B B那那儿儿就就终终止止了了;而而如如果果B B

18、保保护护继继承承A A后后又又派派生生出出C C那那么么A A中中的的公公有有和和保保护护成成员员在在B B中中都都是是保保护护成成员员因因此此A A的功能可以被的功能可以被C C间接继承;间接继承;2024/9/722主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.2 继承方式继承方式多继承 (多个父类):q 声明多继承的语法如下: class : , , 2024/9/723主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精

19、品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.2 继承方式继承方式q多继承举例:在公司员工管理中有时会存在多继承关系,如图:q该关系的该关系的C+C+描述描述: :MultiInherit.hMultiInherit.h2024/9/724主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.3 派生类的构造函数和析构函数派生类的构造函数和析构函数构造函数:构造函数:q 在在创创建建派派生生类类的的对对象象时时,系系统统执执行行派派生生类类的的构构造造函函数数而而不不会会自自

20、动动执执行行基基类类的的构构造造函函数数( (应应改改为为并并自自动动先执行父类的构造函数先执行父类的构造函数) ) ;q 在在设设计计派派生生类类的的构构造造函函数数时时,不不仅仅要要为为初初始始化化派派生生类类新新增增加加的的数数据据提提供供参参数数,而而且且还还应应为为初初始始化化基基类类数据成员提供参数数据成员提供参数2024/9/725主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.3 派生类的构造函数和析构函数派生类的构造函数和析构函数q相关语法:相关语法: (): (

21、),),(), 2), 2024/9/726主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.3 派生类的构造函数和析构函数派生类的构造函数和析构函数q派派生生类类构构造造函函数数的的调调用用顺顺序序为为先先父父辈辈( (基基类类数数据据) )后后自自己己( (派生类新数据派生类新数据 ) );q例例3.4 3.4 派派生生类类构构造造函函数数举举例例 ;2024/9/727主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程

22、 C+:面向对象程序设计 主编:李涛 高教出版社3.3 派生类的构造函数和析构函数派生类的构造函数和析构函数q派派生生类类必必须须定定义义构构造造函函数数的的两种情况:两种情况:派派生生类类新新增增的的数数据据成成员员需需要要定定义义构构造造函函数数来来为为其其初初始始化;化;基基类类定定义义了了带带参参数数的的构构造造函函数数需需要要派派生生类类为为其其提提供供参参数数以以完完成成基基类类数数据据成成员员的的初初始化。始化。2024/9/728主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高

23、教出版社3.3 派生类的构造函数和析构函数派生类的构造函数和析构函数析构函数析构函数 q当当派派生生类类对对象象消消亡亡时时,系系统统会会自自动动调调用用派派生生类类的析构函数做一些必要的清理工作;的析构函数做一些必要的清理工作;q由由于于在在继继承承过过程程中中派派生生类类不不能能继继承承基基类类的的析析构构函函数数,所所以以如如果果需需要要就就只只能能在在派派生生类类中中重重新新定定义;义;2024/9/729主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.3 派生类的构造函数

24、和析构函数派生类的构造函数和析构函数q在在执执行行派派生生类类的的析析构构函函数数时时基基类的析构函数也将被自动调用;类的析构函数也将被自动调用;q析析构构函函数数调调用用的的顺顺序序是是先先派派生生类类的的析析构构函函数数,然然后后是是基基类类的的析构函数。析构函数。q例例3.5 3.5 派生类析构函数举例派生类析构函数举例: 2024/9/730主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.4 虚基类虚基类声明一个虚基类声明一个虚基类 q 多继承中的多义性多继承中的多义性 该

25、关系的该关系的C+描述描述:C+例题程序例题程序第第3章章s3_5smain3_5_A.txt2024/9/731主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.4 虚基类虚基类q作用域分辨符作用域分辨符:可以:可以通过作用通过作用域分辨符明确指定调用哪个类域分辨符明确指定调用哪个类的接口;的接口;q其语法形式如下其语法形式如下 : .: / / 访问数据成员访问数据成员 .:() ) / / 访访问问成员函数成员函数2024/9/732主讲教师:四川大学计算机学院主讲教师:四川大

26、学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社q作作用用域域分分辨辨符符举举例例:C+C+例例题题程程序序 第第3 3章章 s3_5smain3_5_B.cpps3_5smain3_5_B.cppq基基类类可可以以将将其其设设为为虚虚基基类类,这这样样它它的的数数据据成成员员在在内内存存中中就就只只有有一一个个副副本本,成成员员函函数数也也只只有有一一个个映映射射从从而而解解决决了了同同名名成成员员的唯一标识问题的唯一标识问题;2024/9/733主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言

27、程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.4 虚基类虚基类q虚虚基基类类由由virtualvirtual标标识识,声声明明语语法如下:法如下:classclass:virtualvirtual ;q例例3.6 3.6 虚虚基基类类举举例例:C+C+例例题题程程序序 第第3 3章章 s3_6sclass3_6.hs3_6sclass3_6.h2024/9/734主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社q使用虚基类来定义公司员工管理系统使用虚

28、基类来定义公司员工管理系统中的多继承关系:中的多继承关系:/ 在 继 承 路 径 “销 售 经 理 销 售 人 员 员 工 ”中 将 基 类CCompanyStaff设为虚基类class CSaleman : virtual public CCompanyStaff ;/ 在继承路径“销售经理经理员工”中将基类CCompanyStaff设为虚基类class CManager : virtual public CCompanyStaff;/ 派生类CSaleManager成为两条继承路径的交汇点class CSaleManager : public CSaleman, public Cmanag

29、er;2024/9/735主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.4 虚基类虚基类q比比较较使使用用作作用用域域分分辨辨符符和和虚虚基基类技术类技术 :使使用用作作用用域域分分辨辨符符时时基基类类的的成成员员在在内内存存中中存存在在多多个个副副本本,通通过过指指定定基基类类名名来来唯唯一一标标识识使使用用的的是是哪哪个个副副本本,这这样样可可以以存存放放不同的数据进行不同的操作;不同的数据进行不同的操作;使使用用虚虚基基类类技技术术使使基基类类的的成成员员在内存中只存有一个

30、副本在内存中只存有一个副本;2024/9/736主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.4 虚基类虚基类虚基类的初始化:虚基类的初始化:q虚虚基基类类的的初初始始化化在在语语法法上上和和处处理理一一般般基基类类一一样样只只是是调调用用顺顺序序略略有有不不同同它它遵遵循循以以下下顺顺序:序:1 1)虚虚基基类类的的构构造造函函数数在在非非虚虚基类之前调用;基类之前调用;2024/9/737主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计

31、II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社2 2)若若同同一一层层次次中中包包含含多多个个虚虚基基类类则则按按它它们们的的声声明明顺顺序序调调用;用;3 3)若若虚虚基基类类由由非非虚虚基基类类派派生生而而来来要要先先调调用用更更高高级级别别基基类类的的构构造造函函数数再再遵遵循循上上述述1 1和和2 2的顺序。的顺序。2024/9/738主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.4 虚基类虚基类q虚基类初始化顺序的简单举例:虚基类初始化顺序的简单

32、举例:class A; class B; class C : public A,virtual B ; 将产生如下的调用次序将产生如下的调用次序 B() A() C() 2024/9/739主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.4 虚基类虚基类q 较复杂的虚基类初始化举例较复杂的虚基类初始化举例: 2024/9/740主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版

33、社q为了避免在不同继承路径中继为了避免在不同继承路径中继承来的同一成员发生多个副本承来的同一成员发生多个副本的冲突可以将相应的基类设为的冲突可以将相应的基类设为虚基类,见虚基类,见源代码源代码:第第3 3章章 s3_7sclass3_7.hs3_7sclass3_7.h 2024/9/741主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.5 聚合类聚合类聚合类的概念 q设计孤立的类是较容易的,难的是正确设计基类及其派生类;q一般地如果在逻辑上A 是B 的一部分而A与B又不属于同一类

34、范畴,则不允许B继承A的功能而是要用A和其它东西组合出B;2024/9/742主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社q聚合(aggregation)也是实现程序代码重用的另一有效手段 ;q类的聚合,就是指在一个类中内嵌其他类的对象作为成员的现象;2024/9/743主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社q“拥有”(has a)关系,聚合类拥有内嵌对象 ;q出

35、于信息隐藏的考虑,一般都将其访问权限设为“私有”。2024/9/744主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社聚合类中的构造函数聚合类中的构造函数q聚聚合合类类对对象象在在创创建建时时作作为为其其组组成成部部件件的的内内嵌嵌对对象象将将首首先先被被系系统创建;统创建;q如如果果一一个个聚聚合合类类,同同时时又又是是一一个个派派生生类类,那那么么它它的的构构造造函函数数初初始始化化列列表表还还应应负负责责为为基基类类构构造函数的调用提供参数;造函数的调用提供参数;2024/9/7

36、45主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社q当当一一个个类类既既是是聚聚合合类类又又是是派派生生类类时时的构造函数定义形式:的构造函数定义形式: :, 类的初始化类的初始化 q例例3.8 3.8 员员工工管管理理系系统统中中的的聚聚合合关关系系:C+C+例例题题程程序序 第第3 3章章 s3_8sclass3_8_companyStaff.hs3_8sclass3_8_companyStaff.h 2024/9/746主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院

37、游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社3.6 继承应用实例继承应用实例问题描述:问题描述:q该该公公司司的的员员工工组组成成很很简简单单,主主要要分分成成经经理理,销销售售部部门门经经理理,销售人员和行政人员等几类;销售人员和行政人员等几类;q所所有有员员工工都都具具有有姓姓名名,工工作作编编号号,基基本本工工资资,奖奖金金,当当月月出出勤勤记记录录等等数数据据,都都拥拥有有一一定定的的教育背景;教育背景;2024/9/747主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课

38、程 C+:面向对象程序设计 主编:李涛 高教出版社q每每个个员员工工都都存存在在录录入入和和显显示示信信息息等等操操作作,并并且且需需要要根根据据考考勤勤等实际因素来发放工资;等实际因素来发放工资;q不不同同类类别别的的员员工工计计算算工工资资的的办办法也各不相同;法也各不相同;例例3.9 3.9 公公司司员员工工管管理理系系统统 ,源源程序程序:2024/9/748主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社习题习题课后习题、作业课后习题、作业习题习题1习题习题7提示:习题提示:习题7参考例参考例3.42024/9/749主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃 高级语言程序设计II 四川大学精品课程 C+:面向对象程序设计 主编:李涛 高教出版社Thanks!Thanks! 2024/9/750主讲教师:四川大学计算机学院主讲教师:四川大学计算机学院 游洪游洪跃跃

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号