16.1继承的概念1、从基类接收的成员:,除构造函数和析构函数外,必须接收所有的数据成员和成员函数2、派生类对基类的扩充:增加新的成员3、派生类对基类成员的改造:(1)派生类通过继承方式,可以改变对基类成员的访问权限;(2)可以对基类成员函数进行重定义
1、从基类接收的成员: • 除构造函数和析构函数外,必须接收所有的数 据成员和成员函数。 2、派生类对基类的扩充:增加新的成员 3、派生类对基类成员的改造: • (1)派生类通过继承方式,可以改变对基类成员 的访问权限; • (2)可以对基类成员函数进行重定义
16.1继承的概念注意:重定义时,函数名相同,参数表不论是否相同,称派生类覆盖了基类的同名成员函数也就是说,基类的同名函数在派生类的范围内不起作用
注意: • 重定义时,函数名相同,参数表不论是否相 同,称派生类覆盖了基类的同名成员函数 • 也就是说,基类的同名函数在派生类的范围 内不起作用
16.1继承的概念继承继承Teacher类Person类Student类char Name[20];char Name[20];+char Name[20];+char Sex;+charSex,char Sex,int Age;pint Age;int Age;void Register(char*,int,char);void Register(char *,int,char);void Register(char *, int, char);voidShowMe();voidShowMe():void ShowMe();int Number;tchar Department[10];+charClassName[10];float salaryivoid Register(char*classname,void Register(char * dept,int number, char* name, int新增及调整的成员age, char sex);float salary, char* name, intvoid ShowStu();+age, char sex);void ShowMe();
继 承 新增及调整的成员 继 承
16.2继承的工作方式继承派生类的声明格式:派生类名:继承方式基类名1,,继承方式基类名nclass(private:成员表1;//派生类增加或替代的私有成员public:成员表2;//派生类增加或替代的公有成员protected:成员表3;//派生类增加或替代的保护成员;注:1.继承方式--private,protected,public2.若无关键字(继承方式),则默认为私有继承(private)
• 继承派生类的声明格式: class 派生类名:继承方式基类名1,. ,继承方式 基类名n { private: 成员表1; //派生类增加或替代的私有成员 public: 成员表2; //派生类增加或替代的公有成员 protected: 成员表3; //派生类增加或替代的保护成员 }; 注:1.继承方式- private , protected, public 2.若无关键字(继承方式),则默认为私有继承( private)
16.2继承的工作方式例16-1:用继承的方法来重用大学生类classStudent继承的方式:{在类定义中类名后跟.classGraduateStudent:public Student1.一个GraduateStudent类继承了Student类的所有成员。一个研究生是一个大学生,但是研究生类也包含了自己特有的成员
例16-1:用继承的方法来重用大学生类 class Student { //. } ; class GraduateStudent : public Student { //. } ; 一个GraduateStudent类继承了Student类的所有成员。 一个研究生是一个大学生,但是研究生类也包含了自 己特有的成员。 继承的方式: 在类定义中类名后跟