[经济学]第5章 继承与派生类
第*页 共141页 解决方法 (1)对指针显示地指明全路径: pb=(base0 *)(base1 *)pd; (2)将指针先强制转换到不会产生二义性的基类: pb=(base1 *)pd; 第*页 共141页 解决方法 (3)显示指明成员来自哪个类 derived::derived(int a0,int a1,int a2,float c) { b0=a0;//error base1::b0=a0; ..................... } 返回 第*页 共141页 3. 含有公共虚基类的类层次结构 使用虚基类,在它的几条派生路经的汇合处,只产生其一个拷贝。所以在该汇合处可以从任何一条路经访问虚基类的成员,并且都使用相同的虚基类实例。 第*页 共141页 结论 (1) 派生类对象的地址可以直接赋给间接公共基类的指针,并且不需进行强制类型转换。如: base * pb = d; (2) 一个虚基类的引用,可以引用一个派生类的对象,如: base eb=d; 但是,相反的转换是不允许的,即使用指定路径的强制类型转换也不可 。 第*页 共141页 思考 对下图给出的类层次结构图,分析当base0分别是非虚基类和虚基类时 ,以下语句序列哪些是正确的? base0 base1 base2 derived pb0 pb1 pd pb2 第*页 共141页 思考 pb0=pb1; pb0=pb2; pb0=pd; pb1=pd; pb2=pd; pb1=pb0; pb2=pb0; pb1=(base0 *)pb0; pb2=(base0 *)pb0; pd=pb1; pd=pb2; pd=(base1 *)pb1; pd=(base2*)pb2; pd=pb0; pd=(base0 *)pb0; pd=(base1*)pb0; pd=(base1*)(base0*)pb0; 返回 第*页 共141页 5.6 程序举例 例 5.18 :建立一个简单的大学管理系统,其中有学生和职工,职工中有教师。类的继承关系如图所示: Data_rec(虚基类) Emloyee Student Teacher E_Student 第*页 共141页 例 5.18 建立一个简单的大学管理系统 #include iostream.h #include string.h const char null=\0; static char *strsave(char *s){ char *p; p=new char[strlen(s)+1]; strcpy(p,s); return p; } 第*页 共141页 例 5.18 建立一个简单的大学管理系统 class Data_rec{ protected: char *name; char *id_number; public: Data_rec( ){ name=null; id_number=null;} Data_rec(char *name1,char *id_number1) { name=strsave(name1);id_number=strsave(id_number1);} ~Data_rec( ) { delete []name; delete []id_number;} void print( ) { cout\n name:nameendl; coutid_number:id_numberendl; } }; 第*页 共141页 例 5.18 建立一个简单的大学管理系统 class Student:virtual public Data_rec { protected: char *major; long int stu_no; int level; public: Student(char *name1,char *id_number1,char *major1, long int stu_no1,int level1):Data_rec(name1,id_number1) { major=strsave(major1); stu_no=stu_no1; level=level1;} ~Student( ){delete []maj
您可能关注的文档
- [经济学]人大经济金融课件 金融中介学课件 第八章.ppt
- [经济学]人民大学财政学课件 第一章 政府经济活动.ppt
- [经济学]企业法2009.ppt
- [经济学]会计学 第四章 会计凭证与账簿.ppt
- [经济学]会计原理课件07-5.ppt
- [经济学]会计学原理原文第18版 第十七章.ppt
- [经济学]会计电算化 用友软件 操作步骤.doc
- [经济学]保险学5财产保险.ppt
- [经济学]保险学_绪论.ppt
- [经济学]公司中级理财学答案.ppt
- 取样光栅刻蚀深度空间分布微调:方法、应用与创新策略.docx
- 我国城市房屋拆迁行政补偿制度的困境与突破:基于法理与实践的双重视角.docx
- 餐饮业经营中的环境污染困境与破局之策:多维度解析与应对策略.docx
- 现金股利变动下资本市场的多维反应与影响机制探究.docx
- 福建省农业科技成果转化机制:困境与突破路径探究.docx
- 垂直管理视角下云南省交警总队公用经费保障体系构建与优化研究.docx
- 网络环境下企业财务风险的多维剖析与精准防控研究.docx
- 筑牢审前羁押人权防线:问题剖析与路径重塑.docx
- p53与AS共转染对HL60细胞生长抑制机制的深度解析.docx
- 上饶高铁经济试验区社区工作者招聘【16人】参考题库及答案1套.docx
最近下载
- 光伏电子产品的设计与制作-电子课件项目3-光伏草坪灯控制电路的设计与制作.pptx VIP
- 2024-2025学年江苏信息职业技术学院单招《数学》试卷含答案详解【考试直接用】.docx VIP
- 党员个人自评总结3篇-党员个人自评 党员个人自评小结 党员个人自评总结3篇.doc VIP
- 人教版英语新目标八年级下册第二单元教材词汇及重点搭配讲解.docx VIP
- 2026年演出经纪人《思想政治与法律基础》真题库及参考答案一套.docx VIP
- 索拉非尼治疗肝癌.pptx VIP
- 【高清可复制】HGT21629-2021 管架标准图_251-300.pdf VIP
- 新版人教版七年级下册地理全册教案(完整版)教学设计.docx
- 2025年北京事业单位真题.docx VIP
- 临时用地表(可编辑).pdf VIP
原创力文档

文档评论(0)