**fig3_30.txt** /* 1*/ #include /* 2*/ static const Default_Max_Size = 101; /* 3*/ template /* 4*/ class Cursor /* 5*/ { /* 6*/ private: /* 7*/ unsigned int Space_Size; /* 8*/ struct Node /* 9*/ { /*10*/ Element_Type Element; /*11*/ unsigned int Next; /*12*/ }; /*13*/ Node *Cursor_Space; /*14*/ friend class List; /*15*/ void Init_Space( ); /*16*/ public: /*17*/ // Constructors. /*18*/ Cursor( unsigned int Max_Size = Default_Max_Size ); /*19*/ // Destructor. /*20*/ ~Cursor( ) { delete [ ] Cursor_Space; } /*21*/ // Member functions. /*22*/ unsigned int Cnew( Element_Type E = 0, unsigned int N = 0 ); /*23*/ void Cdelete( unsigned int P ); /*24*/ };