-1

2つのクラスA、Bがあり、BはAを継承します。2つの構造体C、Dがあり、DはCを継承します。Aは、いくつかの構造体Cをメンバーとしてインスタンス化します。BがCではなく構造体Dのメンバーをインスタンス化することをどのように達成できますか?もちろん、Dを新しいメンバーとしてBに追加することもできますが、その場合、BはCにメモリを割り当てることになり、無駄になります。

4

1 に答える 1

1

テンプレート?

template <typename ContainedT = C>
class A {
    ContainedT x, y, z;
};

class B : public A<D> {
    ...
};
于 2013-03-25T23:28:26.860 に答える