Definitions in Include Files

For the purpose of encapsulation and information hiding, the style is to not inline, or put, method/constructor/destructor definitions in .hpp files. Placing these definitions in the .cpp file allows change to the internal workings of the class without changes to the interface that is part of the include.

As with all style, there are exceptions, which XMLFramework uses:

Developing the ability to adjust the style to particular circumstances is a part of developing good software design skills.