受保护继承是C++中的一种继承方式,它允许子类访问基类中的受保护成员,但不能访问基类中的私有成员。在C++中,受保护继承使用关键字protected
表示。
以下是一个使用受保护继承的例子:
#include<iostream>
class Base {
public:
int public_member;
protected:
int protected_member;
private:
int private_member;
};
class Derived : protected Base {
public:
void show() {
std::cout << "Public member: "<< public_member<< std::endl;
std::cout << "Protected member: "<< protected_member<< std::endl;
// std::cout << "Private member: "<< private_member<< std::endl; // This line will cause a compilation error
}
};
int main() {
Derived d;
d.public_member = 1;
d.protected_member = 2;
// d.private_member = 3; // This line will cause a compilation error
d.show();
return 0;
}
在这个例子中,Derived
类通过受保护继承Base
类,因此可以访问Base
类中的公共成员和受保护成员,但不能访问私有成员。在Derived
类的show
方法中,可以访问public_member
和protected_member
成员,但不能访问private_member
成员。
总之,受保护继承是一种控制类成员访问权限的方式,可以在不暴露类的实现细节的同时,允许子类访问基类中的某些成员。
领取专属 10元无门槛券
手把手带您无忧上云