class List { private: class Node { public: Node(const DataType& data, Node* next); DataType GetData(void); void SetData(const DataType& data); Node* GetNext(void); void SetNext(Node* next); private: DataType myData; Node* myNext; }; public: List(void); ~List(void); bool Insert(const DataType& data); bool First(void); bool Next(void); bool GetCurrent(DataType& data); bool SetCurrent(const DataType& data); bool Search(const DataType& data); bool InsertSorted(const DataType& data); private: Node* myCurrent; Node* myPrevious; Node* myHead; };