我必须公开课、A和B、和B继承成员。A
class A {
public:
int a;
};
class B : A {
};
有没有办法让所有继承的成员都来自Astatic 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继承。
我不确定这是否是做我正在做的事情的最佳方法,但这是迄今为止我能想到的最优雅的方法。