美文网首页
C++ 公有继承,私有继承和保护继承

C++ 公有继承,私有继承和保护继承

作者: XY9264 | 来源:发表于2019-04-28 10:39 被阅读0次

    三种访问权限

    public:可以被任意实体访问
    protected:只允许子类及本类的成员函数访问
    private:只允许本类的成员函数访问
    

    (友元函数可以访问这三种访问权限的成员)
    三种继承方式

    public 继承    
    protect 继承
    private 继承
    

    组合结果

    基类中      继承方式             子类中
    
    public     & public继承        => public
    public     & protected继承     => protected    
    public     & private继承       => private
    
    protected  & public继承        => protected
    protected  & protected继承     => protected    
    protected  & private继承       => private
    
    private    & public继承        => 子类无权访问
    private    & protected继承     => 子类无权访问
    private    & private继承       => 子类无权访问
    

    由以上组合结果可以看出
    1、public继承不改变基类成员的访问权限
    2、private继承使得基类所有成员在子类中的访问权限变为private
    3、protected继承将基类中public成员变为子类的protected成员,其它成员的访问 权限不变。
    4、基类中的private成员不受继承方式的影响,子类永远无权访问。

    相关文章

      网友评论

          本文标题:C++ 公有继承,私有继承和保护继承

          本文链接:https://www.haomeiwen.com/subject/hszrnqtx.html