欢迎来到天天文库
浏览记录
ID:44245850
大小:182.50 KB
页数:42页
时间:2019-10-20
《C++ 派生类与继承》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第4章派生类与继承继承在已有类的基础上建立一个新类的过程称为继承被继承的已有类称为基类(父类)派生在已有类的基础上新增自己的特性(属性与行为)而产生新类的过程称为派生派生出的新类称为派生类(子类)继承与派生的目的:实现代码的重用与扩充4.1派生类的概念4.1.1继承单继承派生类只从一个基类派生多重继承一个派生类有两个或多个基类多级派生(多层派生)派生类又作为基类,继续派生新的类4.1.2派生类的声明class派生类名:[继承方式]基类名{//派生类新增的数据成员和成员函数};继承方式:规定了如何访问
2、从基类继承的成员,可以是private,protected,public三种方式.//定义一个基类classPerson{public:voidprint(){//……}protected:stringname;intage;charsex;};//定义一个派生类classEmployee:publicPerson{public:voidprint1(){……….}private:stringdepartment;floatsalary;};由类Person继承出类Employee有三种继承方式(1
3、)公有继承classemployee:publicperson{//…};(2)私有继承classemployee:privateperson{//…};(3)保护继承classemployee:protectedperson{//…};4.1.3派生类的构成派生类除了可以从基类继承成员外,还可以增加自己的数据成员和成员函数.这些新增的成员正是派生类不同于基类的关键所在,是派生类对基类的发展.Person类stringname;intage;charsex;voidprint();Employee类
4、stringname;intage;charsex;voidprint()继承新增(发展)stringdepartment;floatsalary;voidprint1();继承与派生的目的:实现代码的重用与扩充构造一个派生类一般过程:(1)派生类从基类接收成员C++继承中,派生类把基类的全部成员(构造函数与析构函数除外)接收过来.(2)调整从基类接收来的成员(3)在派生类中增加新成员.4.1.4基类成员在派生类中的访问属性派生类继承基类中全体成员(除了构造函数与析构函数).这些成员的访问属性在派生
5、程中可以调整.从基类继承来的成员在派生类的访问属性是由继承方式控制.class派生类名:[继承方式]基类名{//…….}继承方式为public,protected,private.不同的继承方式,导致不同访问属性的基类成员在派生类的访问属性有所不同.用公有继承方式建立的派生类称为公有派生类用私有继承方式建立的派生类称为私有派生类用保护继承方式建立的派生类称为保护派生类基类中的成员在公有派生类中的访问属性在私有派生类中的访问属性在保护派生类中的访问属性私有成员公有成员保护成员不可直接访问公有保护不可直
6、接访问私有私有不可直接访问保护保护表:基类成员在派生类中的访问属性4.1.5派生类对基类成员的访问规则类的继承方式有public(公有继承)protected(保护继承)private(私有继承)不同的继承方式导致原来具有不同访问属性的基类成员在派生类中的访问属性不同.派生类对基类成员的访问形式有以下两种:(1)内部访问,派生类的新增成员函数对基类继承的成员的访问(2)对象访问,在派生类的外部,以派生类的对象对基类继承来的成员的访问.1.私有继承的访问规则基类成员private成员public成员p
7、rotected成员内部访问对象访问不可访问不可访问可访问不可访问可访问不可访问基类中的private成员,既不能被派生类的对象访问,也不能被派生类的新增成员函数访问(内部访问)..classBase{public:voidsetx(intn){x=n;}voidshowx(){cout<8、t<
8、t<
此文档下载收益归作者所有