Is some one able to explain why header files have something like this?
class foo; // This here?
class bar
{
bar();
};
Do you need an in
this is a forward declaration of the class. In my experience, this is typically done when you have a circular dependency.. for example
in foo.h
--------
#include "bar.h"
class foo
{
public:
foo(bar *bar);
private:
foo *m_foo;
};
and in bar.h
------------
class foo;
class bar
{
public:
void methodFooWillCall();
protected:
std::list myFoos;
}