公有继承 保护继承 私有继承 自己总结!

 

今天看QT教程的时候碰到继承的关系,莫名奇妙的被教程给说“懵”了(其实就是自己没有记牢,才会出现恍惚,嘿)

于是查看网上资料写的都混乱(看到“不能访问”,到底谁不能访问?????),本打算去看标准C++定义,算了还是自己编码实验吧(以事实说话,O(∩_∩)O~)

 

 

总结如下:

 

 

 基类的私有成员 永远归基类所有(即只有基类的成员函数可以访问)  

 派生类 如果是 公有继承(public) 基类    
       则: 基类的公有成员保护成员 成为  派生类的公有成员保护成员(也就意味着可以通过继承来的成员函数访问基类的私有成员)
    注意: 派生类的实例只能直接访问公有成员(即自身定义的公有成员和继承来的公有成员,而继承来的保护成员无法直接访问)

 

 派生类 如果是 保护继承(protected) 基类   
       则: 基类的公有成员保护成员  都成为   派生类的保护成员 (也就意味着可以通过继承来的成员函数访问基类的私有成)              
    注意:派生类的实例只能直接访问公有成员(即自身定义的公有成员,而继承来的都成为保护成员而无法直接访问)

 

 派生类 如果是 私有继承(private) 基类
       则: 基类的公有成员保护成员  都成为   派生类的私有成员 (也就意味着可以通过继承来的成员函数访问基类的私有成员)
    注意:派生类的实例只能直接访问公有成员(即自身定义的公有成员,而继承来的都成私有成员而无法直接访问)

 

对于多层继承 :

例如: B 继承 C   , C  继承 A   ---------------   访问规则如上。

 

 

 

 

如写的错误的地方希望大家不吝指出,好让我也知道自己的错误。

 

 

你可能感兴趣的:(c,qt)