私は、クラス、A
およびB
、パブリックB
からメンバーを継承する必要がありA
ます。
class A {
public:
int a;
};
class B : A {
};
継承されたすべてのメンバーをA
static の下で作成する方法はありますか、またはそれらを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
これが私がやっていることを行うための最良の方法であるかどうかはわかりませんが、これは私が今まで考えた中で最もエレガントなアプローチです.