Tutorial overview: Constructing reliable C++ classes

This tutorial presents a six-step method for creating reliable, trusted classes that are correct, robust, and usable. The six steps focus solely on the design and implementation of classes rather than an entire software lifecycle.

Each step is elucidated through discussion of its goals, descriptions of concrete techniques and recommendations, and analysis of the decisions made during the step. An example of class design will be used to guide and illustrate: a character string class will be discussed, being something that most software engineers have experience using, and have alternate examples to compare against and evaluate.


This is a practical session, directed toward working software engineers, on the process of constructing reliable C++ classes. It is not a Methodology, but a method, with roots in academia, but relevant to the everyday concerns of developers.

Experience with software development and Object-Oriented techniques and mechanisms is assumed.


While the tutorial examples are geared toward C++, the basic ideas apply to most O-O languages.'