09 继承和派生.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9.1 有关继承的基本概念 9.2 派生类 9.3 派生类的继承方式和访问属性 9.4 派生类的构造函数和析构函数 类的继承(inheritance)是指新类从基类那里得到基类的特征,也就是继承基类的数据和函数。 派生新类的同时也可以增加或重新定义数据和操作。 派生就是创建一个具有别的类的属性和行为的新类的能力。派生和继承的概念也来自于人们认识客观世界的过程。 当从现存类中派生出新类时,可以对派生类做如下几种变化: ① 可以增加新的数据成员; ② 可以增加新的成员函数; ③ 可以重新定义已有的成员函数; ④ 可以改变现有成员的属性。 9.2 派生类 一、派生类的定义格式 class 派生类名:继承方式 基类名1,访问限定符 基类名2,……,访问限定符 基类名n { private: 成员表1; //派生类增加或替代的私有成员 public: 成员表2; //派生类增加或替代的公有成员 protected: 成员表3; //派生类增加或替代的保护成员 }; 二、派生类的构成 1、从基类接收的成员 2、派生类对基类的成员进行扩充 3、派生类对基类成员的改造 9.3 派生类的继承方式 9.3 派生类的继承方式 继承特点: 1、基类公有成员相当于派生类中的公有成员 2、基类保护成员相当于派生类中的保护成员 3、基类私有成员在派生类中无法直接访问 实例:公有继承(public) class Person //人员类定义 {protected: char Name[10];//姓名 int Age;//年龄 char Sex;//性别 public: void Register(char *name, int age, char sex) ; void ShowMe(); }; class Employee: public Person //雇员类定义 { char Dept[20]; //工作部门 float Salary; //月薪 public: Employee() ; void EmployeeRegister(char *name, int age, char sex, char *dept, float salary); void ShowEmp(); //显示雇员信息 }; 例9-1 演示公有继承中派生类对基类成员的访问 #includeiostream #includecstring using namespace std; class Person { char Name[20]; char Sex; int Age; public: void Register(char *name, int age, char sex) { strcpy(Name, name); Age = age; Sex = (sex == m?m:f); } void ShowMe() {cout Name \t Age \t Sex endl;} }; class Student : public Person //公有继承 { int Number; char ClassName[10]; public: void RegisterStu(char *classname, int number, char *name, int age, char sex) { strcpy(ClassName, classname); Number = number; Register(name, age, sex); //派生类成员函数直接使用基类的公有成员 } void ShowStu() { cout Number \t ClassName \t; ShowMe(); //直接使用基类的公有成员 } }; int main() { Student stu; stu.RegisterStu(计算机51张弓长,18,m); stu.ShowStu(); stu.ShowMe(); //派生类对象直接使用基类的公有成员 return 0; } 二、私有继承(private) 继承特点 : 基类的公有成员和保护成员都相当于派生类的私有成员 对于基类的私有成员,无论派生类内部成员或派生类使用者(即派生对象)都无法直接访问 派生类通过私有继承产生时,基类的公有及保护成员均成为派生类的私有成员,以派生类为基类继续派生新类时,基类的成员难以访问。失去了派生类的意义,故私有继承较少使用。 三、保护继承(protected) 保护继承方式创建的派

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档