Class vs include
i'm reading the book "C++ Gui programming with Qt4" and i notice inside the code of the book,
that sometimes inside the header files we use preprocessor command include:
and sometimes we use the declaration of class:
Is there any rule when to use class and when to use class??
Sorry for the question, and the language, and thanks in advanced.
In short, if the compiler doesn't need to know the size of an object or what methods it has, you can get away with not including the header - just do a forward declaration. For instance, if you declare a pointer to an object of a certain class, the compiler only needs to know that the class exists. If, however, you start calling methods on the object, the header has to be included.
This was a short and simplified explanation, google for more info. Or brace yourself and read "this informative article":http://herbsutter.com/2013/08/19/gotw-7a-solution-minimizing-compile-time-dependencies-part-1/.