首页主机资讯C++类的继承访问权限如何

C++类的继承访问权限如何

时间2024-10-31 16:56:05发布访客分类主机资讯浏览1417
导读:在C++中,类的继承访问权限主要有三种:public(公有)、protected(保护)和private(私有)。这些访问权限决定了基类成员在派生类中的可见性。 Public(公有)继承: 当一个类公开继承另一个类时,基类的公有成员和保...

在C++中,类的继承访问权限主要有三种:public(公有)、protected(保护)和private(私有)。这些访问权限决定了基类成员在派生类中的可见性。

  1. Public(公有)继承: 当一个类公开继承另一个类时,基类的公有成员和保护成员在派生类中都保持公有,而基类的私有成员在派生类中不可访问。这意味着派生类的用户可以访问基类的公有和保护成员,但不能访问私有成员。

    示例:

    class Base {
        
    public:
        int publicMember;
        
    protected:
        int protectedMember;
        
    private:
        int privateMember;
    
    }
        ;
    
    
    class Derived : public Base {
    
    public:
        void accessMembers() {
        
            publicMember = 10;
         // 可以访问
            protectedMember = 20;
         // 可以访问
            // privateMember = 30;
     // 错误!无法访问基类的私有成员
        }
    
    }
        ;
    
    
  2. Protected(保护)继承: 当一个类保护继承另一个类时,基类的公有成员和保护成员在派生类中都变为保护成员,而基类的私有成员仍然不可访问。这意味着派生类的用户不能访问基类的公有成员,但可以访问保护成员。派生类的成员函数可以访问基类的公有和保护成员。

    示例:

    class Base {
        
    public:
        int publicMember;
        
    protected:
        int protectedMember;
        
    private:
        int privateMember;
    
    }
        ;
    
    
    class Derived : protected Base {
    
    public:
        void accessMembers() {
        
            // publicMember = 10;
         // 错误!无法访问基类的公有成员
            protectedMember = 20;
         // 可以访问
            // privateMember = 30;
     // 错误!无法访问基类的私有成员
        }
    
    }
        ;
    
    
  3. Private(私有)继承: 当一个类私有继承另一个类时,基类的公有成员和保护成员在派生类中都变为私有成员,而基类的私有成员仍然不可访问。这意味着派生类的用户不能访问基类的任何成员(公有、保护或私有)。派生类的成员函数可以访问基类的公有和保护成员,但不能访问私有成员。

    示例:

    class Base {
        
    public:
        int publicMember;
        
    protected:
        int protectedMember;
        
    private:
        int privateMember;
    
    }
        ;
    
    
    class Derived : private Base {
    
    public:
        void accessMembers() {
        
            // publicMember = 10;
         // 错误!无法访问基类的公有成员
            // protectedMember = 20;
         // 错误!无法访问基类的保护成员
            // privateMember = 30;
     // 错误!无法访问基类的私有成员
        }
    
    }
        ;
        
    

总之,C++类的继承访问权限允许您控制基类成员在派生类中的可见性。公有继承使得基类成员在派生类中保持公有,保护继承使得基类成员在派生类中变为保护成员,而私有继承使得基类成员在派生类中变为私有成员。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C++类的继承访问权限如何
本文地址: https://pptw.com/jishu/705400.html
C++类的继承方式有几种 Python函数定义作用域链是如何

游客 回复需填写必要信息