私は、クラス、AおよびB、パブリックBからメンバーを継承する必要がありAます。
class A {
public:
int a;
};
class B : A {
};
継承されたすべてのメンバーをAstatic の下で作成する方法はありますか、またはそれらをB作成することが唯一の方法ですか?staticA
コンテキスト:
私はメモリ マネージャを構築しています。このマネージャは、特定のクラスのインスタンスによって使用されるメモリを制御します。
私は次のようなものがあります:
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の各インスタンスに余分なバイトが追加されないようにしたいと思います。だからこそ、「相続の化」を考えたのです。DataMemorystatic
これが私がやっていることを行うための最良の方法であるかどうかはわかりませんが、これは私が今まで考えた中で最もエレガントなアプローチです.