Classes and Structures

When laying out classes, we use the following physical breakdown in the source files:

  • [cas01] The methods are listed in this order:

    • public methods
    • protected methods
    • private methods
  • [cas02] The member variables are listed in this order:

    • public members (avoid these)
    • protected members
    • private members

Within those sections, prefer to keep things grouped logically -- for instance, keep all of the overloaded operators together, all of the constructors together, etc.