Я искал Fear SDK для своего университетского проекта, но заметил такой код:
Foo.h
class Foo
{
public:
int iSomething;
};
Bar.cpp:
#include "Foo.h"
// Forward declarations
class Foo;
Есть ли какая-то особая причина для пересылки объявления и включения соответствующего заголовка в тот же файл cpp? Или предварительное объявление является избыточным, потому что заголовок включается?
РЕДАКТИРОВАТЬ:
Каждый раз, когда я видел его в коде, оператор включения всегда стоит перед предварительным объявлением.