1,公有继承方式
在公有继承时:
(1)派生类的对象可以访问基类中的公有成员;
(2)派生类的成员函数可以访问基类中的公有成员和保护成员。
2,保护继承方式
在保护继承时:
(1)派生类的对象对基类的所有成员都不可访问;
(2)派生类的成员函数可以访问基类中的公有成员和保护成员,但是它们都作为派生类的保护成员;
3,私有继承方式
在私有继承时:
(1)派生类的对象对基类的所有成员都不可访问;
(2)派生类的成员函数可以访问基类中的公有成员和保护成员,但是它们都作为派生类的私有成员,不能再被派生类的子类所访问;
注:基类的成员只能由直接派生类访问,所以无法再往下继承;
在私有继承下,若将派生类对象赋给基类对象时:
派生类对象的空间中,包含基类的对象,只是无法让其公开的访问基类的成员(即对派生类对象来说,基类的所有成员都是不可见的)。
总说几句:基类的private成员,在派生类中成为不可直接使用的成员;
在无继承的类中,protected和private控制符是没有差别的;
在继承中:
基类的private对所有的外界都屏蔽(包括自己的派生类);
基类的protected控制符对应用程序是屏蔽的,但对其派生类是可访问的。