C++类的继承访问权限如何
导读:在C++中,类的继承访问权限主要有三种:public(公有)、protected(保护)和private(私有)。这些访问权限决定了基类成员在派生类中的可见性。 Public(公有)继承: 当一个类公开继承另一个类时,基类的公有成员和保...
在C++中,类的继承访问权限主要有三种:public(公有)、protected(保护)和private(私有)。这些访问权限决定了基类成员在派生类中的可见性。
-
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; // 错误!无法访问基类的私有成员 } } ;
-
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; // 错误!无法访问基类的私有成员 } } ;
-
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