C++中有以下几种继承的方式:
-
公有继承(public inheritance):使用public关键字来指定基类和派生类之间的关系。在公有继承中,基类的公有成员在派生类中仍然是公有的,私有成员在派生类中是不可访问的。
-
私有继承(private inheritance):使用private关键字来指定基类和派生类之间的关系。在私有继承中,基类的公有和保护成员在派生类中都是私有的,不可直接访问。
-
保护继承(protected inheritance):使用protected关键字来指定基类和派生类之间的关系。在保护继承中,基类的公有和保护成员在派生类中都是保护的,不可直接访问。
此外,还存在多重继承和虚继承:
-
多重继承(multiple inheritance):一个派生类可以继承多个基类。通过在派生类的定义中使用逗号分隔多个基类。
-
虚继承(virtual inheritance):用于解决菱形继承(diamond inheritance)问题,即一个派生类继承了多个直接或间接基类,而这些基类又继承自同一个共同的基类。在虚继承中,通过使用关键字virtual来声明基类,使得在派生类中只有一个共享的基类子对象。
这些继承方式可以根据实际需求来选择使用。