7.2. A Class Design Boilerplate

How, then, does one approach class design? We prefer a “boilerplate” approach, which makes class designs consistent and robust. A class design boilerplate is a framework that you fill in according to your object's behaviors and requirements. The following generic boilerplate helps organize the important concepts behind class design.

Listing 7.1. Class design boilerplate
#ifndef Class_nameH
#define Class_nameH

class Class_name {
private:
// private data and functions here . . .
   void copy(const Class_name &);            // copy object
   void free();                              // free resources
public:
// Constructors and destructor
   Class_name();                             // default constructor
   Class_name(const Class_name & obj) { // copy constructor copy(obj); // copy object } ...

Get Navigating C++ and Object-Oriented Design now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.