Если у вас есть шаблонный базовый класс, как в следующем примере:
class A{
public:
A();
virtual ~A();
};
template <class T>
class B : public T
{
public:
B();
virtual ~B();
};
typedef B<A> C;
class D : public C
{
public:
D();
virtual ~D();
};
Когда вы удаляете экземпляр D, будет ли вызываться деструктор A?
Я, вероятно, создам тестовую программу, чтобы выяснить, что происходит, но просто подумав об этом, я не был уверен, что должно произойти.