Зачем включать заголовок и пересылать объявление класса, содержащегося в одном файле cpp?

Я искал Fear SDK для своего университетского проекта, но заметил такой код:

Foo.h

class Foo
{
    public:
        int iSomething;
};

Bar.cpp:

#include "Foo.h"

// Forward declarations
class Foo;

Есть ли какая-то особая причина для пересылки объявления и включения соответствующего заголовка в тот же файл cpp? Или предварительное объявление является избыточным, потому что заголовок включается?

РЕДАКТИРОВАТЬ:

Каждый раз, когда я видел его в коде, оператор включения всегда стоит перед предварительным объявлением.

5
задан Ray Dey 8 February 2011 в 02:11
поделиться