欢迎来到天天文库
浏览记录
ID:59010945
大小:58.50 KB
页数:33页
时间:2020-09-26
《第十章 继承与派生类ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十章继承与派生类1类的派生机制就是类的继承:即可以通过一个已定义的类派生一个新类,新类由原有类继承而来。派生类既可继承其基类的所有数据属性与行为特性,同时还可加入属于它自己独有的特性。若一个派生类仅有一个基类,则称为单继承。单继承可以构造树的层次结构。2多继承的派生类:即可定义拥有多个基类的派生类。多继承则可构造图的层次结构。类的继承机制有助于利用原有程序扩充新的功能,以适应新的需求,从而大大提高软件可重用性和软件设计的效率。310.1派生类10.1.1公有继承派生类定义公有继承派生类的常用形
2、式为:class基类名{public:公有成员private:私有成员};class派生类名:public基类名{public:公有成员private:私有成员};4公有继承(public)基类中所有公有成员包括数据成员和成员函数,在派生类中也是公有的。基类中所有公有成员可被派生类的其他成员直接访问。外界则可通过派生类的对象访问从基类继承来的公有成员。基类的私有成员继续保持其私有的特性,无论派生类的其他成员或是派生类的对象,均不能直接访问其基类的私有成员。5例1程序演示了公
3、有继承派生类的定义以及派生类对象的访问控制属性。#includeusingnamespacestd;classbcn{public:voidseti(intii){i=ii;}intgeti(){return(i);}voidprinti(){cout<<”i=”<4、voidprintj(){cout<<”j=”<5、ut<<”Alsoi=”<6、ivate:私有成员};class派生类名:private基类名{public:公有成员private:私有成员};9私有继承(private)基类中所有公有成员在派生类中其成员访问控制属性均变成私有,而基类中的私有成员在派生类中将不可访问(或称不可见)。例2程序演示了私有继承派生类的定义以及派生类对象访问控制属性与公有继承派生类相比的区别。10#includeusingnamespacestd;classbcn{public:voidseti(intii7、){i=ii;}intgeti(){return(i);}voidprinti(){cout<<”i=”<8、aseclassobjectbco:”<
4、voidprintj(){cout<<”j=”<5、ut<<”Alsoi=”<6、ivate:私有成员};class派生类名:private基类名{public:公有成员private:私有成员};9私有继承(private)基类中所有公有成员在派生类中其成员访问控制属性均变成私有,而基类中的私有成员在派生类中将不可访问(或称不可见)。例2程序演示了私有继承派生类的定义以及派生类对象访问控制属性与公有继承派生类相比的区别。10#includeusingnamespacestd;classbcn{public:voidseti(intii7、){i=ii;}intgeti(){return(i);}voidprinti(){cout<<”i=”<8、aseclassobjectbco:”<
5、ut<<”Alsoi=”<6、ivate:私有成员};class派生类名:private基类名{public:公有成员private:私有成员};9私有继承(private)基类中所有公有成员在派生类中其成员访问控制属性均变成私有,而基类中的私有成员在派生类中将不可访问(或称不可见)。例2程序演示了私有继承派生类的定义以及派生类对象访问控制属性与公有继承派生类相比的区别。10#includeusingnamespacestd;classbcn{public:voidseti(intii7、){i=ii;}intgeti(){return(i);}voidprinti(){cout<<”i=”<8、aseclassobjectbco:”<
6、ivate:私有成员};class派生类名:private基类名{public:公有成员private:私有成员};9私有继承(private)基类中所有公有成员在派生类中其成员访问控制属性均变成私有,而基类中的私有成员在派生类中将不可访问(或称不可见)。例2程序演示了私有继承派生类的定义以及派生类对象访问控制属性与公有继承派生类相比的区别。10#includeusingnamespacestd;classbcn{public:voidseti(intii
7、){i=ii;}intgeti(){return(i);}voidprinti(){cout<<”i=”<
8、aseclassobjectbco:”<
此文档下载收益归作者所有