我必须公开课、A
和B
、和B
继承成员。A
class A {
public:
int a;
};
class B : A {
};
有没有办法让所有继承的成员都来自A
static under B
,或者创建它们static
是A
唯一的方法?
上下文:
我正在构建一个内存管理器,这个管理器将控制特定类的实例使用的内存。
我会有类似的东西:
template <class T>
class Memory {
public:
operator new;
operator delete;
private:
memory_pool_for<T>;
};
class Data : Memory<Data> {
};
因此,当我必须做类似的事情时:
new Data;
delete Data;
该操作将从中定义的函数调用,该函数Memory
将分配/释放一些内存空间。
实例之间的分配/解除分配应该是静态的Data
,我想确保Data
由于继承自Memory
. 这就是为什么我想到static
'lize the继承。
我不确定这是否是做我正在做的事情的最佳方法,但这是迄今为止我能想到的最优雅的方法。