Listing 5 Defines listcode as a class that grants friendship to the list class

//
// list.h - list interface using a friend class
//

class listnode
       {
       friend class list;
       listnode(unsigned n, listnode *p)
              : number(n), next(p) { }
       unsigned number;
       listnode *next;
       };

class list
       {
public:
       list(unsigned n);
       ~list();
       void add(unsigned n);
       void print();
private:
       listnode *first, *last;
       };

// End of File