C++不同继承方式下派生类成员的访问属性

对C++不同继承方式下派生类成员的访问属性问题做了总结,并且用图形化的方式呈现出来,如下:

一、public继承

 

C++不同继承方式下派生类成员的访问属性

二、protected继承

C++不同继承方式下派生类成员的访问属性

三、private继承

C++不同继承方式下派生类成员的访问属性

四、protected继承和private继承的比较

C++不同继承方式下派生类成员的访问属性

4.1protected继承方式对孙类的影响

子类从父类是protected继承方式,孙类从子类是public或protected继承方式的情形:

C++不同继承方式下派生类成员的访问属性

子类从父类是protected继承方式,孙类从子类是private继承方式的情形:

C++不同继承方式下派生类成员的访问属性

4.2private继承方式对孙类的影响

子类从父类是private继承方式:

C++不同继承方式下派生类成员的访问属性

由此可见,protected继承和private继承的主要不同是,他们对孙类有不同的影响。