c++继承的三种方式是什么
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,并将其变为保护的
};
相关问答