Click on cell.h to get source.
// File Circlist/cell.h
using namespace std;
class circlist;
class cell {// list cell objects
friend class circlist;
friend ostream& operator<<(ostream&, circlist&);
// conditional object initialization
cell(int i) : info(i), next(this)
// make a cell and link it to itself
{}
cell(int i, cell *cptr) : info(i), next(cptr)
// make a cell and link it to the argument cptr
{}
int info; // data field
cell *next; // link field
};