阅读量:0
C++中有三种常见的继承方式:公有继承、私有继承和保护继承。
- 公有继承(public inheritance):公有继承中,派生类继承了基类的公有成员和保护成员,而私有成员不可继承。在公有继承中,基类的公有成员在派生类中仍然是公有的。
class Base { public: int publicMember; protected: int protectedMember; private: int privateMember; }; class Derived : public Base { // Derived继承了Base的publicMember和protectedMember };
- 私有继承(private inheritance):私有继承中,派生类继承了基类的公有成员和保护成员,而私有成员不可继承。但与公有继承不同的是,基类的公有成员在派生类中变为私有的。私有继承方式通常用于实现"has-a"关系,即派生类通过私有继承获得基类的功能,但不会暴露给外部。
class Derived : private Base { // Derived继承了Base的publicMember和protectedMember,并将其变为私有的 };
- 保护继承(protected inheritance):保护继承中,派生类继承了基类的公有成员和保护成员,而私有成员不可继承。与私有继承类似,保护继承方式也通常用于实现"has-a"关系,但保护继承方式下,基类的公有成员在派生类中变为保护的,不能被外部访问。
class Derived : protected Base { // Derived继承了Base的publicMember和protectedMember,并将其变为保护的 };