欢迎来到天天文库
浏览记录
ID:50055097
大小:209.50 KB
页数:37页
时间:2020-03-08
《标准C++程序设计 教学课件 作者 牛连强 第9章 继承.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第9章继承继承是面向对象的三种重要特性之一。C++通过支持继承来达到软件重用的目的。9.1继承的概念与表示9.1.1继承与派生保持已有类的特性而构造新类的过程称为继承。在已有类的基础上新增自己的特性而产生新类的过程称为派生。被继承的已有类称为基类(或父类)。派生出的新类称为派生类(或子类)。单继承:一个派生类只有一个直接基类.多重继承:一个派生类同时有多个基类.下面通过代码说明继承:classemployee{private:char*name;shortage;floatsalary;public:voidprint()const;};classmana
2、ger{private:char*name;shortage;floatsalary;intlevel;public:voidprint()const;voidprint_level(){cout<3、现classemployee{protected:char*name;shortage;floatsalary;public:employee(){name=0;age=0;salary=0.0;}employee(char*name1,shortage1,floatsalary1){name=newchar[strlen(name1)+1];strcpy(name,name1);age=age1;salary=salary1;}voidprint()const{cout<<“name:”<4、lary:”<5、icemployee{private:intlevel;public:voidprint_level(){cout<<“level:”<6、ed见表9.1基类成员在派生类中的访问属性基类中自身成员可以对基类中任何一个其他成员进行访问,但通过基类的对象,只能访问该类公有成员。基类中的私有成员不允许派生类继承(即不可直接访问)。基类中的公有成员在派生类中以继承方式的属性为准。基类中的保护成员在派生类中以与继承方式相比较取限制最大的。派生类对基类成员的访问规则私有继承的访问规则继承方式派生类public基类privateprotected不可直接访问privateprivate派生类对基类成员的访问规则经过私有继承之后,所有基类的成员都成为了派生类的private成员或不可直接访问成员,若进一步派生7、,基类的全部成员都无法在新的派生类中被访问,实际相当于中止了基类功能的继承派生。因此,私有继承的实际应用很少。派生类对基类成员的访问规则公有继承的访问规则继承方式派生类public基类publicprotectedprivatepublicprotectedprivate派生类中成员可直接访问类外成员只能通过派生类对象访问通过基类public成员函数间接访问派生类以公有继承方式继承了基类,并不意味着派生类可以访问基类的private成员。派生类对基类成员的访问规则保护继承的访问规则继承方式派生类public基类protectedprotected不可直接访8、问protectedprivate类中其他成员可直接访问,类外成员
3、现classemployee{protected:char*name;shortage;floatsalary;public:employee(){name=0;age=0;salary=0.0;}employee(char*name1,shortage1,floatsalary1){name=newchar[strlen(name1)+1];strcpy(name,name1);age=age1;salary=salary1;}voidprint()const{cout<<“name:”<4、lary:”<5、icemployee{private:intlevel;public:voidprint_level(){cout<<“level:”<6、ed见表9.1基类成员在派生类中的访问属性基类中自身成员可以对基类中任何一个其他成员进行访问,但通过基类的对象,只能访问该类公有成员。基类中的私有成员不允许派生类继承(即不可直接访问)。基类中的公有成员在派生类中以继承方式的属性为准。基类中的保护成员在派生类中以与继承方式相比较取限制最大的。派生类对基类成员的访问规则私有继承的访问规则继承方式派生类public基类privateprotected不可直接访问privateprivate派生类对基类成员的访问规则经过私有继承之后,所有基类的成员都成为了派生类的private成员或不可直接访问成员,若进一步派生7、,基类的全部成员都无法在新的派生类中被访问,实际相当于中止了基类功能的继承派生。因此,私有继承的实际应用很少。派生类对基类成员的访问规则公有继承的访问规则继承方式派生类public基类publicprotectedprivatepublicprotectedprivate派生类中成员可直接访问类外成员只能通过派生类对象访问通过基类public成员函数间接访问派生类以公有继承方式继承了基类,并不意味着派生类可以访问基类的private成员。派生类对基类成员的访问规则保护继承的访问规则继承方式派生类public基类protectedprotected不可直接访8、问protectedprivate类中其他成员可直接访问,类外成员
4、lary:”<5、icemployee{private:intlevel;public:voidprint_level(){cout<<“level:”<6、ed见表9.1基类成员在派生类中的访问属性基类中自身成员可以对基类中任何一个其他成员进行访问,但通过基类的对象,只能访问该类公有成员。基类中的私有成员不允许派生类继承(即不可直接访问)。基类中的公有成员在派生类中以继承方式的属性为准。基类中的保护成员在派生类中以与继承方式相比较取限制最大的。派生类对基类成员的访问规则私有继承的访问规则继承方式派生类public基类privateprotected不可直接访问privateprivate派生类对基类成员的访问规则经过私有继承之后,所有基类的成员都成为了派生类的private成员或不可直接访问成员,若进一步派生7、,基类的全部成员都无法在新的派生类中被访问,实际相当于中止了基类功能的继承派生。因此,私有继承的实际应用很少。派生类对基类成员的访问规则公有继承的访问规则继承方式派生类public基类publicprotectedprivatepublicprotectedprivate派生类中成员可直接访问类外成员只能通过派生类对象访问通过基类public成员函数间接访问派生类以公有继承方式继承了基类,并不意味着派生类可以访问基类的private成员。派生类对基类成员的访问规则保护继承的访问规则继承方式派生类public基类protectedprotected不可直接访8、问protectedprivate类中其他成员可直接访问,类外成员
5、icemployee{private:intlevel;public:voidprint_level(){cout<<“level:”<6、ed见表9.1基类成员在派生类中的访问属性基类中自身成员可以对基类中任何一个其他成员进行访问,但通过基类的对象,只能访问该类公有成员。基类中的私有成员不允许派生类继承(即不可直接访问)。基类中的公有成员在派生类中以继承方式的属性为准。基类中的保护成员在派生类中以与继承方式相比较取限制最大的。派生类对基类成员的访问规则私有继承的访问规则继承方式派生类public基类privateprotected不可直接访问privateprivate派生类对基类成员的访问规则经过私有继承之后,所有基类的成员都成为了派生类的private成员或不可直接访问成员,若进一步派生7、,基类的全部成员都无法在新的派生类中被访问,实际相当于中止了基类功能的继承派生。因此,私有继承的实际应用很少。派生类对基类成员的访问规则公有继承的访问规则继承方式派生类public基类publicprotectedprivatepublicprotectedprivate派生类中成员可直接访问类外成员只能通过派生类对象访问通过基类public成员函数间接访问派生类以公有继承方式继承了基类,并不意味着派生类可以访问基类的private成员。派生类对基类成员的访问规则保护继承的访问规则继承方式派生类public基类protectedprotected不可直接访8、问protectedprivate类中其他成员可直接访问,类外成员
6、ed见表9.1基类成员在派生类中的访问属性基类中自身成员可以对基类中任何一个其他成员进行访问,但通过基类的对象,只能访问该类公有成员。基类中的私有成员不允许派生类继承(即不可直接访问)。基类中的公有成员在派生类中以继承方式的属性为准。基类中的保护成员在派生类中以与继承方式相比较取限制最大的。派生类对基类成员的访问规则私有继承的访问规则继承方式派生类public基类privateprotected不可直接访问privateprivate派生类对基类成员的访问规则经过私有继承之后,所有基类的成员都成为了派生类的private成员或不可直接访问成员,若进一步派生
7、,基类的全部成员都无法在新的派生类中被访问,实际相当于中止了基类功能的继承派生。因此,私有继承的实际应用很少。派生类对基类成员的访问规则公有继承的访问规则继承方式派生类public基类publicprotectedprivatepublicprotectedprivate派生类中成员可直接访问类外成员只能通过派生类对象访问通过基类public成员函数间接访问派生类以公有继承方式继承了基类,并不意味着派生类可以访问基类的private成员。派生类对基类成员的访问规则保护继承的访问规则继承方式派生类public基类protectedprotected不可直接访
8、问protectedprivate类中其他成员可直接访问,类外成员
此文档下载收益归作者所有