Squirrels Point of interest: delete [] vs. normal delete Base vs. Abstract data types Base data type (or primitive data type) Abstract data type Encapsulates data and operations How does the example from last class hold up? C++ classes: One that does something (like, heading for a 3D game) ADT operations (typical): insert delete (do we care about order?) access modify search traverse Could our example be an ADT? Sure Let's add the above operations traverse: This one is a little tricky to encapsulate Just let the user use whatever access we have? Take a function pointer, and use map? Iterator class, like MFC? Should it be mutable? If we get this one, we could make numbers a private data member Since we've gone this far (if we get here) Could it expand as needed? How about contract as needed?