class mylinkage { protected: mylinkage * prev; mylinkage * next; public: void set_prev(mylinkage* L); void set_next(mylinkage* L); mylinkage * succ(); mylinkage * pred(); mylinkage(); }; class Collection; class mylink : public mylinkage { private: public: void into(Collection * Q); void append(Collection * Q); mylink* out(); }; class Collection : public mylinkage { private: public: mylink* out(); mylink * first(); mylink * last(); int empty(); void out_of(mylink* ob); void add_before(mylinkage*,mylink*); void append(mylink*); Collection(); };