c++谭浩强教学第5章修订.doc

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c谭浩强教学第5章修订

第五章 继承与派生 5.1继承与派生的概念(P150) 一、为什么要使用继承 通过继承的机制,可以利用已有的类来定义新的类,所定义的新类型拥有原来类型的属性,同时还拥有新的属性。继承的目的在于实现代码的重用。 称已存在用来生成新的类型的类为基类,而由已存在类派生出来的新类为派生类。派生类继承了基类,即派生类中拥有基类中所有成员,并且派生类本身还拥有它自己的新成员。 例如:已建有学生基本数据类 Student class Student {public: void display( ) { coutnum: numendl; coutname: nameendl; coutsex: sexendl; } private : int num; string name; char sex; }; 欲创建学生档案类1 Student1 class Student1 {public: void display( ) { coutnum: numendl; coutname: nameendl; coutsex: sexendl; coutage: ageendl; coutaddress: addrendl;} private : int num; string name; char sex; int age; string addr; }; 二、单继承与多继承 一个派生类只有一个直接基类的情况,称为单继承,一个派生类同时有多个基类的情况,称为多继承。 单继承 多继承 5.2 派生类的声明方式(P153) 单继承派生类的一般定义格式 class 派生类名:继承方式 基类名 { //派生类新增的数据成员和成员函数 } 说明: (1)三种继承方式: 公有继承: class Student1:public Student { //…. }; 私有继承: class Student1: private Student { //…. }; 保护继承: class Student1: protected Student { //…. }; 例如: class Student1:public Student {public: void display1( ) { coutage: ageendl; coutaddress: addrendl; } private : int age; string addr; }; 5.3 派生类的构成(p154) 基类 派生类 派生类继承了基类的所有成员; 增加新的成员; 改变现有成员的属性和重新定义基类中已有的成员函数。 5.4 派生类成员的访问属性 **基类成员在派生类中的访问属性 三种不同的继承方式导致原来具有不同访问属性的基类的成员在派生类中具有不同的访问属性。 在基类中的访问属性 继承方式 在派生类中的访问属性 private public 不可直接访问 private private 不可直接访问 private protected 不可直接访问 public public public public private private public protected protected protected public protected protected private private protected protected protected 从表中归纳出: (1)基类中的私有成员 无论哪种继承方式,基类中的私有成员在派生类中都不可直接访问; (2)基类中的公用成员 当类的继承方式为公用继承时,基类中的所有公用成员在派生类中仍以公用成员的身份出现; 当类的继承方式为私有继承时,基类中的所有公用成员在派生类中都是以私有成员的身份出现; 当类的继承方式为保护继承时,基类中的所有公用成员在派生类中都是以保护成员的身份出现。 (3)基类中的保护成员 当类的继承方式为公用继承时,基类中的所有保护成员在派生类中仍以保护成员的身份出现; 当类的继承方式为私有继承时,基类中的所有保护成员在派生类中都是以私有成员的身份出现; 当类的继承方式为保护继承时,基类中的所有保护成员在派生类中仍以保护成员的身份出现。 5.4.1 公用继承 公有继承的特点是:基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,在派生类中是不可访问的。 例5.1 访问

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档