是否可以使 class 成为两个不同层次结构的子级?
Is it possible to make a class a child of two distinct hierarchies?
我想做以下事情:
class MyA : public ExternalA {
// some code
}
class MyB : public ExternalB {
// the same code as above
}
即我想以相同的方式扩展 ExternalA 和 ExternalB。但是(出于某些原因)我不想做:
class MyC : public ExternalA, public ExternalB
{
// same code
}
PS,编辑:我的问题是关于如何避免重复 MyA 和 MyB 定义中的代码部分。
模板可能有帮助:
template <typename Base>
class MyDerived : public Base
{
// some code
};
using MyA = MyDerived<ExternalA>;
using MyB = MyDerived<ExternalB>;
我想做以下事情:
class MyA : public ExternalA {
// some code
}
class MyB : public ExternalB {
// the same code as above
}
即我想以相同的方式扩展 ExternalA 和 ExternalB。但是(出于某些原因)我不想做:
class MyC : public ExternalA, public ExternalB
{
// same code
}
PS,编辑:我的问题是关于如何避免重复 MyA 和 MyB 定义中的代码部分。
模板可能有帮助:
template <typename Base>
class MyDerived : public Base
{
// some code
};
using MyA = MyDerived<ExternalA>;
using MyB = MyDerived<ExternalB>;