Specifying an ADT
Specify the operations (member functions) associated with ADT and the access control (public, private, protected) for these operations.
Specify the data structures (attributes) needed to specify the ADT and the access control for the data structures.
From the point of view of a problem there are three types of functions you should consider : service functions, utility functions and predicate functions.
From the point of view of how they relate the underlying data structure you should consider: constructor, accessor, mutator, and destructor functions.