第7章继承与派生ppt课件.ppt

第7章继承与派生ppt课件.ppt

ID:58698103

大小:379.00 KB

页数:64页

时间:2020-10-04

第7章继承与派生ppt课件.ppt_第1页
第7章继承与派生ppt课件.ppt_第2页
第7章继承与派生ppt课件.ppt_第3页
第7章继承与派生ppt课件.ppt_第4页
第7章继承与派生ppt课件.ppt_第5页
资源描述:

《第7章继承与派生ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章继承与派生授课教师:电话:邮箱:授课班级:第7章继承与派生7.1继承与派生7.2多继承7.3类的继承方式7.4派生类的构造和析构函数7.5派生中成员的标识与访问7.6虚基类7.1继承与派生7.1.1继承与派生的概念所谓继承,就是新的类从已有类那里得到已有的特性。从另一个角度来看,从已有类产生新类的过程就是类的派生。已有的类称为基类或父类,产生的新类称为派生类或子类。派生类同样也可以作为基类再派生新的类,这样就形成了类的层次结构。图7-1交通工具分类层次图7.1.2派生类的声明在C++中,派生类的一般声明语法如下:cl

2、ass<派生类名>:[继承方式]<基类名>{派生类成员声明;};其中:①class是类声明的关键字,用于告诉编译器下面声明的是一个类。②派生类名是新生成的类名。③继承方式规定了如何访问从基类继承的成员。继承方式关键字为private、public和protected。④派生类成员指除了从基类继承来的所有成员之外,新增加的数据和函数成员。例如,从基类vehicle(汽车)公有派生car(小汽车)类的声明形式如下:classvehicle//基类vehicle类的声明{private://私有数据成员intwheels;//车

3、轮floatweight;//重量public://公有函数成员voidinitvehicle(intin_wheels,floatin_weight);//初始化函数intget_wheels();floatget_weight();//...};classcar:publicvehicle//派生类car类的声明{private://新增私有数据成员intpassenger_load;public://新增公有函数成员voidinitcar(intin_wheels,floatin_weight,intpeople=4

4、);intget_passengers();//...};编制派生类时可分四步吸收基类的成员改造基类成员发展新成员重写构造函数与析构函数7.1.3派生类生成过程不论是数据成员,还是函数成员,除构造函数与析构函数外全盘接收声明一个和某基类成员同名的新成员,派生类中的新成员就屏蔽了基类同名成员,称为同名覆盖(override)派生类新成员必须与基类成员不同名,它的加入保证派生类在功能上有所发展。上面的步骤就是继承与派生编程的规范化步骤。第二步中,新成员如是成员函数,参数表也必须一样,否则是重载。第三步中,独有的新成员才是继承与

5、派生的核心特征。第四步是重写构造函数与析构函数,派生类不继承这两种函数。不管原来的函数是否可用,必须一律重写,以免出错。classemployee{protected:char*name;//姓名intindividualEmpNo;//个人编号intgrade;//级别floataccumPay;//月薪总额staticintemployeeNo;//本公司职员编号目前最大值public:employee();~employee();voidpay();//计算月薪函数voidpromote(int);//升级函数voi

6、ddisplayStatus();//显示人员信息};classtechnician:publicemployee{private:floathourlyRate;//每小时酬金intworkHours;//当月工作时数public:technician();//构造函数voidpay();//计算月薪函数voiddisplayStatus();//显示人员信息};7.2多继承7.2.1多继承的声明在派生类的声明中,基类名可以有一个,也可以有多个。如果只有一个基类名,则这种继承方式称为单继承;如果基类名有多个,则这种继承方

7、式称为多继承。多继承的声明语法如下:class<派生类名>:[继承方式]基类名1,[继承方式]基类名2,...,[继承方式]基类名n{派生类成员声明;};classBase1{//...};classBase2{//...};classMultiDerived:publicBase1,privateBase2{public:MultiDerived();~MultiDerived();//...};图7-2多继承和单继承(a)多继承(b)单继承7.2.2类族在派生过程中,派生出来的新类也同样可以作为基类再继续派生新的类。此

8、外,一个基类可以同时派生出多个派生类。也就是说,一个类从父类继承来的特征也可以被其它新的类所继承,一个父类的特征,可以同时被多个子类继承。这样就形成了一个相互关联的类的家族,称为类族。在类族中,直接参与派生出某类的基类称为直接基类;基类的基类甚至更高层的基类称为间接基类。图7-3单继承类族示意图7.3类

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。