欢迎来到天天文库
浏览记录
ID:62171677
大小:679.00 KB
页数:100页
时间:2021-04-20
《最新第七章继承与派生教学讲义ppt.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。 记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热”,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇”。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,“你
2、看热的,跑什么?”此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道! 蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。 蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅第七章继承与派生本章主要内容类的继承与派生类成员的访问控制
3、单继承与多继承派生类的构造、析构函数类成员的标识与访问27-1类的继承与派生保持已有类的特性而构造新类的过程称为继承。在已有类的基础上新增自己的特性而产生新类的过程称为派生。被继承的已有类称为基类(或父类)。派生出的新类称为派生类。3继承与派生问题举例类的继承与派生7继承与派生的目的继承的目的:实现代码重用。派生的目的:当新的问题出现,原有程序无法解决(或不能完全解决)时,需要对原有程序进行改造。类的继承与派生8派生类的声明class派生类名:继承方式基类名{成员声明;}类的继承与派生9派生类通常要添加基类所没有的数据成
4、员和成员函数。派生类比基类更具体。继承的巨大优势在于添加了基类所没有的特性并且改进了从基类继承来的特性。增加新成员,改造基类的成员函数(重载、覆盖)类的继承与派生107.2访问控制不同继承方式的影响主要体现在:派生类成员对基类成员的访问权限通过派生类对象对基类成员的访问权限三种继承方式公有继承私有继承保护继承类成员的访问控制11公有继承(public)基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可直接访问。派生类中的成员函数可以直接访问基类中的public和prot
5、ected成员,但不能直接访问基类的private成员。通过派生类的对象只能访问基类的public成员。类成员的访问控制12ClassStudent//声明类{public://基类voidset_value(){cin>>num>>name>>sex;}voiddisplay(){cout<<″num:″<6、的某一部门用学生的信息时还需要用到年龄、地址等信息,则需要重新声明类:ClassStudent//声明类{public:voidset_value(){cin>>num>>name>>sex>>age>>addr;}voiddisplay(){cout<<″num:″<7、//基类私有成员intnum;charname[20];charsex;//新增intage;charaddr[20];//新增};其实新类中的成员大部分是原有的classStudent1:publicStudent//以public方式声明派生类Student1{public:voidset_value(){cin>>age>>addr;}voiddisplay(){cout<<″age:″<8、ivate:intage;charaddr[40];};Student基类父类Student1派生类子类例7-1公有继承举例classPoint//基类Point类的声明{public://公有函数成员voidInitP(floatxx=0,floatyy=0){X=xx;Y=yy;}voidMove(floatxO
6、的某一部门用学生的信息时还需要用到年龄、地址等信息,则需要重新声明类:ClassStudent//声明类{public:voidset_value(){cin>>num>>name>>sex>>age>>addr;}voiddisplay(){cout<<″num:″<7、//基类私有成员intnum;charname[20];charsex;//新增intage;charaddr[20];//新增};其实新类中的成员大部分是原有的classStudent1:publicStudent//以public方式声明派生类Student1{public:voidset_value(){cin>>age>>addr;}voiddisplay(){cout<<″age:″<8、ivate:intage;charaddr[40];};Student基类父类Student1派生类子类例7-1公有继承举例classPoint//基类Point类的声明{public://公有函数成员voidInitP(floatxx=0,floatyy=0){X=xx;Y=yy;}voidMove(floatxO
7、//基类私有成员intnum;charname[20];charsex;//新增intage;charaddr[20];//新增};其实新类中的成员大部分是原有的classStudent1:publicStudent//以public方式声明派生类Student1{public:voidset_value(){cin>>age>>addr;}voiddisplay(){cout<<″age:″<8、ivate:intage;charaddr[40];};Student基类父类Student1派生类子类例7-1公有继承举例classPoint//基类Point类的声明{public://公有函数成员voidInitP(floatxx=0,floatyy=0){X=xx;Y=yy;}voidMove(floatxO
8、ivate:intage;charaddr[40];};Student基类父类Student1派生类子类例7-1公有继承举例classPoint//基类Point类的声明{public://公有函数成员voidInitP(floatxx=0,floatyy=0){X=xx;Y=yy;}voidMove(floatxO
此文档下载收益归作者所有