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

转自:http://blog.csdn.net/lovekatherine/article/details/1778422

三种访问权限

    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成员不受继承方式的影响,子类永远无权访问。

posted @ 2016-02-17 08:55  熊阳  阅读(277)  评论(0)    收藏  举报