是否可以使一个类成为两个不同层次结构的子类?

Is it possible to make a class a child of two distinct hierarchies?

本文关键字:层次结构 两个 子类 可以使 一个 是否      更新时间:2023-10-16

我想做以下几件事:

class MyA : public ExternalA {
// some code
}
class MyB : public ExternalB {
// the same code as above
}

即我想以相同的方式扩展外部 A 和外部 B。但是(出于原因(我不想这样做:

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>;