В C++ У меня есть файл заголовка Ih определения абстрактного класса (интерфейс) с пустой виртуального деструктора:C++ пустой интерфейс деструктор в заголовочном файле
class I
{
public:
virtual ~I() {}
};
- Вопрос 1: Является ли объектный код для пустой деструктор, который будет сгенерирован в объектном файле каждого .cpp-файла, который включает Ih?
- Вопрос 2: Если ответ на вопрос 1 является да, может ли это быть проблемой (тот же метод в разных объектных файлах)?
Есть ли способ иметь метод, определенный в определении класса, но не встроенный? – Giorgio
@ Джорджио: Нет, нет. Он должен быть встроен, чтобы не нарушать ODR. –
@ Джорджио, насколько я могу вспомнить, стандарт говорит, что метод, определенный внутри класса, является встроенным, поэтому я так не думаю. –