Я видел здесь и здесь , что хорошим практическим правилом является использование виртуальных деструкторов для каждого класса, который предназначен в качестве базового класса.У меня есть чистый абстрактный базовый класс (содержит только чисто виртуальные функции и не содержит членов данных; предназначен для использования в качестве интерфейса).
class A {
public:
virtual void foo() = 0;
};
Можно ли добавить виртуальный деструктор в этот класс, не создаваяфайл реализации (этот класс определен в заголовочном файле, включенном в несколько файлов .cpp) только для пустого деструктора, при этом избегая предупреждений clang и g ++, таких как -Wweak-vtables?Я не могу поместить пустое определение в заголовочный файл с чистым абстрактным классом, потому что я получу несколько определений деструктора.