C++ 从两个不可更改的标头继承
假设我有两门课:C++ 从两个不可更改的标头继承,c++,inheritance,C++,Inheritance,假设我有两门课: public class1() { ... } public class2() : public class1 { ... } 这两个类是不可更改的-它们带有一个库 假设我现在想要有两个从这些类继承的类: class3继承自class1 class4继承自class2 但是,对于class4,是否可以从class1间接继承,而不是从class3继承,就像class3从class1继承一样?是的,这是可能的。但这可能不是一个好主意-您是只需要class1的
public class1() {
...
}
public class2() : public class1 {
...
}
这两个类是不可更改的-它们带有一个库
假设我现在想要有两个从这些类继承的类:
继承自class3
class1
继承自class4
class2
但是,对于
class4
,是否可以从class1
间接继承,而不是从class3
继承,就像class3
从class1
继承一样?是的,这是可能的。但这可能不是一个好主意-您是只需要class1
的功能,还是还需要class3
提供的功能?如果没有,那么就没有理由将所有的class3
拖到新类中。我最终没有从class2派生class4,而是在class4上复制class2的函数。这似乎奏效了。当然有可能。问题是这在语义上是否有意义。@VioletGiraffe我不确定“在语义上有意义”是什么意思。你能告诉我你这是什么意思吗?谢谢:)class4可以从class3派生出来是的。。。无论这是否是您想要的,只有您可以告诉我们,继承意味着表示您的类所代表的概念之间的某种关系。好的,我正在尝试从QVariantAnimation和QPropertyAnimation继承,以覆盖和添加一些将在我的大多数应用程序中使用的方法。因为QPropertyAnimation继承自QVariantAnimation,所以我认为我还需要继承QPropertyAnimation的实现自QVariantAnimation的实现。是的,我确实需要class3提供的一切。