c ++继承重载成员

时间:2013-03-25 23:26:14

标签: c++ inheritance struct

我有两个类A,B,其中B继承A.我有两个结构C,D,其中D继承C.一个实例化多个结构C作为成员。我怎样才能实现B实例化struct D的成员而不是C? 我当然可以将D添加为B的新成员,但是B也会为C分配内存,这将是浪费。

1 个答案:

答案 0 :(得分:1)

模板?

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

class B : public A<D> {
    ...
};