版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十一讲继承与派生参考:C++程序设 本次议 现在要求为某学校馆设计一个管理系统, 等多种层次的学生,馆为全校学生和教职工提供借阅服务。馆按照的性质(中文、外文、新书)将借阅分为不同的借阅种类:中文借阅、外文人
---m_strName:---m_strName: m_iAge:int- think(): think(): m_strName: teach(): {voidthink();voidwork();boolm_bGender;intm_iAge;
classTeacher:{voidteach();int本次议 新建立的类称为派生类(derivedclass)或子(sonclass)。继承和派生的基本概念 承 次
农民 语文老 中学老 小学 中学 学学学本科本科本科床沙 床沙沙沙发 学家具 学家具本科本科床单人单人 派生类是基类的特化,而基类是派生类的 基类和派生类是相对的(如右图学学本本科本次议 名>{派生类新增加的 class<派生类名>:[继承方式]<基类名1>,[继承方式]<基类名2>,[...{派生类新增加的成派生类 classclassB:public
classclassclassC:publicA,public
有三种继承方式 class类和(默认继承方式取决于class类和struct//不推struct//不推符派生类class classStudent:private{intvoidget()
intvoidget()struct intvoidget()
structStudent:public{intvoidget()#include<iostream>usingstd::cout;classA{intclassB:public{
m_iVal,关于 doubleint{ABcout<<sizeof(a)<<""<<sizeof(b)<<endl;return0;}{voiddisplay()const;boolm_bSex;int
classTeacher:{voiddisplayEx()const;stringm_strAddr;intm_iSalary;}
继+disla派生类#include#includeusingnamespacestd;{(stringaName=“”,boolaSex=true,intaAge=0voiddisplay()const;stringm_strName;boolm_bSex;intclassTeacher:{Teacher(stringaName,boolaSex,intaAge,stringaSpec,intaCredit);voiddisplayEx()const;stringm_strSpeciality;intm_iCredit;
DEMO派生类把基类全部的成员(不包括构造函数和析构函数)接收过来调整基类public和protected成员 权隐藏同名基类成要仔细虑应当增加些成员。在派生类时,一般还应成员从基类继承本类中新成员名及成员属成员属数据(共6个成员(共5个派生类派生类 本次议 继承方式(重点 公有继承 私有继承 符符YNYYNYYNYYNYYYYYYY公公有继承 控 类控类inaccessible成员不能被子类成员函数直接
{intx;inty;intvoiddisplayA(){cout<<x<<y<<z<<
classB:public{intintm;intvoiddisplayB(){cout<<k<<m<<
intmain({Aa;Bb;cout<<b.x<<<<b.z<<endl; <<b.k<<b.m cout<<x<<y<<z<<endl;
对象a
对象b的成 栈区
A::displayA()区
Demo公有继承子类和父类是isa类派生类成保护继承控基类成类派生类成保护继承控基类成
{intx;inty;
classB:protected{intintm;
intmain({Aa;Bb;b.displayB();intvoiddisplayA({cout<<x<<y<<z<<
intvoiddisplayB({cout<<k<<m<<n<<endl;cout<<x<<y<<z<<endl;}
<<b.x<<b.y<<b.z<<<<b.k<<b.m<<<<
对象a的成
对象b 栈区
栈区
,派生类成控基类成派生类成控基类成私私有继承类
{intx;inty;
classB:private{intintm;
intmain({Aa;Bb;b.displayB();intvoiddisplayA({cout<<x<<y<<z<<
intvoiddisplayB({cout<<k<<m<<n<<endl;cout<<x<<y<<z<<endl;}
<<b.x<<b.y<<b.z<<<<b.k<<b.m<<<<
对象a的成
对象b 栈区
栈区
class{class class{class{Enginem_Engine;//.有Engine的成员,相当于包含了以Engine对class{classCar:private{. ④基类的private④基类的private可直 派生类无法直 派生类成派生类类成√×√√××员√××√√√√√×√√××√× 家具床床单单人classclassclassclassclassclass继承方classA的成classclass[注意 class{intclassB:public
间接基class间接基classclassclass 成classclass{intclassC:public{void
b
{cout<<a<<b<<c<<}intc;
本次议 ::位置在派生类中任 属性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中外合资企业合同书模板2024年
- 商标转让协议
- 房屋租赁合同补充协议案例
- 司机的劳动合同协议范本2024年
- 二手车转让协议书的范本
- 电子商务加盟合同范本2024年
- 6.20条例条令学习
- 2024年学校物品采购合同
- 2024年美容院用工合同
- 专业劳动合同模板
- 马一鸣从警记(独家连载)
- 设备润滑“五定”管理规定
- 冬季施工方案风机基础
- 定点医疗机构接入验收申请表
- 专业技术职务任职资格评审表高级
- 腹部按压技巧肠镜检查辅助技巧
- gsk983ma铣床加工中心数控系统使用手册2010年4月
- 材料物理性能(安工大)ppt
- 进展性卒中内科治疗
- 沼气站操作手册
- YS/T 815-2012铜及铜合金力学性能和工艺性能试样的制备方法
评论
0/150
提交评论