Important: Please read the Qt Code of Conduct -

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:

    @#include <QDialogButtonBox>@

    and sometimes we use the declaration of class:

    @class QList;@

    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":

Log in to reply