Listing 10 An lns header with lns as an abstract base class and a static create function

//
// lns3.h - line number sequence interface
//

#ifndef LNS_H_INCLUDED
#define LNS_H_INCLUDED

class lns
   {
public:
   static lns *create(unsigned n);
   virtual ~lns() = 0;
   virtual void add(unsigned n) = 0;
   virtual void print() = 0;
   };

#endif

// End of File