5.4. Defining an Abstract Base Class

In this section we redesign the num_sequence class of the preceding section into an abstract base class from which we inherit each of the numeric sequence classes. How do we go about that?

The first step in defining an abstract base class is to identify the set of operations common to its children. For example, what are the operations common to all numeric sequence classes? These operations represent the public interface of the num_sequence base class. Here is a first iteration:

 class num_sequence { public: // elem( pos ): return element at pos // gen_elems( pos ): generate the elements up to pos // what_am_i() : identify the actual sequence // print( os ) : write the elements to os //check_integrity( pos ...

Get Essential C++ now with O’Reilly online learning.

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