Table of Contents
The basics of using C++ classes to program ADTs should be familiar to you.
But experienced C++ programmers know that there are a number of steps in going from a very basic ADT class to one that is robust enough to employ in real applications. I've tried to codify some of these steps into a “C++ Class Designer's Checklist”. This is a set of rules that I believe you should apply every time you find yourself designing or modifying the design of a class.
In this lesson, I'll present the checklist, then show how to use it in refining some simple ADTs.
Many of the rules here call for you to think beyond the immediate needs of the application you are writing today. Instead, these rules seek to improve the chances that your ADT is robust and flexible enough to survive changes and rewriting of this application and is also ready to use in other future applications that feature the same abstraction.