Listing 7 Member function definitions for lns using a pair of pointers

//
// lns1b.cpp - line number sequence
// implementation
//

#include <stdio.h>

#include "lns.h"

lns::lns(unsigned n)
   {
   first = last = new node(n);
   }

lns::~lns()
   {
   node *p;
   while ((p = first) != 0)
      {
      first = first->next;
      delete p;
      }
   }

void lns::add(unsigned n)
   {
   if (last->number != n)
      last = last->next = new node(n);
   }

void lns::print()
   {
   node *p;
   for (p = first; p != 0; p = p->next)
      printf(" %4d", p->number);
   }

// End of File