讨论访问属性时,需要考虑以下几种情况:
1、基类的成员函数访问基类成员
2、派生类的成员函数访问派生类自己增加的成员
3、基类的成员函数访问派生类的成员
4、派生类的成员函数访问派生类的成员
5、在派生类外访问派生类的成员
6、在派生类外访问基类的成员
对于(1)和(2)的情况,即基类的成员函数访问基类成员,派生类的成员函数可以访问派生类成员,私有数据成员只能被同一类的成员函数访问,公用成员函数可以被外界访问。(3)种基类的成员函数只能访问基类的成员,而不能访问派生类的成员。(5)在派生类外可以访问派生类的公有成员,而不能访问派生类的私有成员。
对于(4)和(6)的情况不同的继承方式决定了基类成员在派生类的访问属性:
(1)公用继承(public inheritance)
基类的公有成员和保护成员在派生类中保持原有的访问属性,其私有成员仍为基类私有
(2)私有继承(private inheritance)
基类的公有成员和保护成员在派生类中成了私有成员。其私有成员仍为基类私有
(3)受保护的继承(protected inheritance)
基类的公有成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。保护成员的意思是,不能被外界引用,但可以被派生类的成员引用。
派生类成员的访问属性
最新推荐文章于 2023-02-10 20:13:19 发布