C++ 不支持多重繼承,即一個類只能直接繼承自一個父類。但是可以通過接口繼承或者多態的方式實現多重繼承的效果。
class Interface1 {
public:
virtual void method1() = 0;
};
class Interface2 {
public:
virtual void method2() = 0;
};
class MyClass : public Interface1, public Interface2 {
public:
void method1() override {
// 實現方法1
}
void method2() override {
// 實現方法2
}
};
class Base1 {
public:
virtual void method1() {
// 實現方法1
}
};
class Base2 {
public:
virtual void method2() {
// 實現方法2
}
};
class MyClass {
private:
Base1 base1;
Base2 base2;
public:
void method1() {
base1.method1();
}
void method2() {
base2.method2();
}
};
通過以上兩種方式,可以實現多重繼承的效果。