Двойное объявление класса в заголовочных файлах

0

Я работаю с библиотекой c++, которая не написана мной.

Некоторые заголовочные файлы включают другие классы, но все же имеют своеобразное "дублирующее" пустое определение класса. Какова цель этого поведения?

#include "OtherClass.h"


class OtherClass;

class ThisClass {
    // definitions here
};
  • 1
    Кажется довольно бессмысленным иметь оба для меня. У меня не было веских причин для этого.
  • 0
    stackoverflow.com/questions/553682/...
Теги:
c++11

1 ответ

2
Лучший ответ

Это объявление вперед класса, которое является объявлением без полного определения идентификатора. Это помогает сократить время компиляции, а также круговые зависимости.

В вашем сценарии вы должны включить или перенаправить объявление класса, но не оба.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню