基类中类成员的访问属性以及派生类的继承方式是非常重要的内容,上一篇博客中已经详细讲解了。
上面的空白处都是不可访问的,因为父类中的成员函数不可以访问派生类中的数据。所以都是不可访问的。也就是‘’否‘’。
在分析多级派生的数据的访问权限的时候可以通过画上面表格的方式来进行,有利于更清晰更方便的分析。比如说对于C来说如何分析类A中的数据在C中的访问权限,
就可以直接通过类B中的那一行来分析。
综上所述,如果在多级派生使都采用公用继承方式,那么直到最后一级派生都能访问基类的公用成员和保护成员;
如果采用私有继承的方式,经过若干次派生之后,基类的所有成员已经变成不可访问的了;
如果采用保护继承方式,在派生类外无法访问派生类中的任何成员,而且经过多次派生之后,人们很难清楚地记住哪些成员可以访问,哪些成员不能访问,很容易出错。
所以工程中通常用的是开放式策略-------公用继承。
所以基类中通常成员函数是公用的,数据成员protected的,这样用public继承时,可以将这样的访问属性一直延续下去。