- 1、本文档共99页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 继承与派生 7.1 继承与派生 7.2 多继承 7.3 类的继承方式 7.4 派生类的构造和析构函数 7.5 派生中成员的标识与访问 7.6 虚基类 7. 7 类模板的派生和继承 7.1 继承与派生 7.1.1 继承与派生的概念 举个简单的例子:“狗”和“黑狗”。当谈论“狗”的时候,知道它是哺乳动物,有4条腿,1条尾巴,喜欢啃肉骨头,……。现在谈论“黑狗”,人们会怎么说呢?当然可以说:“黑狗是一种哺乳动物,有4条腿,1条尾巴,喜欢吃肉骨头,……,并且它的毛是黑色的”。但是人们一般都不这么说,而是说:“黑狗就是黑毛的狗”。比较一下这两种说法,显然后一种说法更好。那么它好在哪里呢?第一,它更简炼;第二,更重要的是它反映了“狗”和“黑狗”这两个概念的内在联系。“狗”和“黑狗”之间存在一条重要的联系,那就是所有的“黑狗”都是“狗”,或者说,“黑狗”是一类特殊的“狗”。根据这一条,“狗”所具有的特征,例如4条腿,1条尾巴等,“黑狗”自然都具有。也就是说,“黑狗”从“狗”那里继承了“狗”的全部特征。 所谓继承,就是新的类从已有类那里得到已有的特性。从另一个角度来看,从已有类产生新类的过程就是类的派生。已有的类称为基类或父类,产生的新类称为派生类或子类。派生类同样也可以作为基类再派生新的类,这样就形成了类的层次结构。 类的继承和派生的层次结构,可以说是人们对自然界中的事物进行分类、分析和认识的过程在程序设计中的体现。现实世界中的事物都是相互联系、相互作用的,人们在认识过程中,根据事物的实际特征,抓住其共同特性和细小差别,利用分类的方法进行分析和描述。 C++中有两种继承:单一继承和多重继承。对于单一继承,派生类只能有一个基类;对于多重继承,派生类可以有多个基类。 7.1. 2 单一继承的派生类声明 在C++中,派生类的一般声明语法如下: class派生类名:[继承方式]基类名 { 派生类成员声明; }; 其中: ① class是类声明的关键字,用于告诉编译器下面声明的是一个类。 ② 派生类名是新生成的类名。 ③ 继承方式规定了如何访问从基类继承的成员。继承方式关键字为private、public和protected,分别表示私有继承、公有继承和保护继承。如果不显式地给出继承方式关键字,系统的默认值就认为是私有继承(private)。类的继承方式指定了派生类成员以及类外对象对于从基类继承来的成员的访问权限,这将在7.3节中详细介绍。 ④ 派生类成员指除了从基类继承来的所有成员之外,新增加的数据和函数成员。这些新增的成员正是派生类不同于基类的关键所在,是派生类对基类的发展。当重用和扩充已有的代码时,就是通过在派生类中新增成员来添加新的属性和功能。可以说,这就是类在继承基础上的进化和发展。 例如,从基类vehicle(汽车)公有派生car(小汽车)类的声明形式如下: class vehicle //基类vehicle类的声明 { private: //私有数据成员 int wheels; float weight; public: //公有函数成员 void initvehicle(int in_wheels,float in_weight); int get_wheels(); float get_weight(); //... }; class car: public vehicle //派生类car类的声明 { private: //新增私有数据成员 int passenger_load; public: //新增公有函数成员 void initcar(int in_wheels , float in_weight , int people=4); int get_passengers(); //... }; 7.1.3 派生类生成过程 仔细分析派生新类这个过程,实际是经历了三个步骤:吸收基
您可能关注的文档
- chapter05城市化的历史进程.ppt
- chapter10英语翻译方法6.ppt
- Chapter14名词性从句的译法.ppt
- chapter7英语翻译技巧3.ppt
- chapter02城乡划分和城市地域.ppt
- chapter9英语翻译方法技巧5.ppt
- chapter8英语翻译方法技巧4.ppt
- chaye策划书.ppt
- chater21触发器和时序逻辑电路.ppt
- chineseAmericanspeech中美跨文化交际演讲差异.ppt
- 2018供电企业安全计划.docx
- 北川羌族自治县 2024年从服务期满“三支一扶”项目人中考核招聘乡镇事业单位工作人员笔试备考题库及答案解析.docx
- 2024年度“黑龙江省卫生健康委员会直属事业单位开展黑龙江人才周”公开招聘9人笔试备考试题及答案解析.docx
- 2024年“蓉漂人才荟”都江堰市教育系统引进硕士、博士研究生暨异地招聘公费师范生(48人)笔试备考试题及答案解析.docx
- 2024云南临沧市福利彩票管理中心招聘(4人)笔试备考题库及答案解析.docx
- 2024甘肃陇南市两当县城区小学、幼儿园选聘教师16人笔试备考题库及答案解析.docx
- 2024福建漳州龙文区银发教师招募笔试备考试题及答案解析.docx
- 2024重庆永川何埂镇人民政府公益性岗位招聘1人笔试备考试题及答案解析.docx
- 2024四川凉山州德昌县人力资源和社会保障局考核招聘三支一扶人员为乡镇事业 单位工作人员2人笔试备考试题及答案解析.docx
- 2024年成都市金牛区“蓉漂人才荟”赴高校公开招聘急需紧缺高层次人才、教育人才、卫生人才初步(243人)笔试备考试题及答案解析.docx
最近下载
- 办公用品订购合同范本.docx VIP
- WORD版本刻度尺-A4纸打印可用.doc
- 90nm逻辑产品Peeling缺陷的解决方案.pdf
- 神经系统的分级调节.pptx VIP
- 中建施工总平面布置图设计(69页).pdf
- 2024年公共卫生与预防医学继续教育平台“大学习”活动线上培训栏目考试题库(1392题).docx
- 北师大版(2023)必修第一册 Unit 2 Sports and Fitness单元教学设计.pdf VIP
- 2016-2023年长沙民政职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析.docx
- 农业经济学-农业资金.ppt VIP
- 齐鲁医学神经系统疾病的辅助检查.ppt VIP
文档评论(0)