Second step adds a comparison of heap or stack objects, overloading of methods, static methods, more character handling, and the use of "this".
Third step adds destructors, delete, vectors, comparators, and factory methods.
These examples do NOT split the application and its class into separate files, nor have we used inheritance, extension, etc - these other vital topics are in other examples that you'll find in other nearby blog entries. The purpose of this particular post is to show you some of the very wide range of things that you'll need to do within a single class.