// LList.h #ifndef _LLIST_H #define _LLIST_H #include "ListNode.h" class LList { public: LList(); LList(const LList& source); ~LList(); LList& operator=(const LList& source); int size() { return size_; } void append(ItemType x); void insert(size_t i, ItemType x); ItemType pop(int i=-1); ItemType& operator[](size_t position); private: // methods void copy(const LList &source); void dealloc(); ListNode* _find(size_t position); ItemType _delete(size_t position); // data elements ListNode *head_; int size_; }; #endif // _LLIST_H