•Strings
•arbitrary and dynamic length
•methods to manipulate and convert strings
•operators for comparison, concatenation and replication
•Associative arrays
•Indexed by integer, string, or class
•first(index), last(index), next(index), prev(index), delete(index), andexist(index) methods
•Dynamic arrays
•integer mem[*];
•mem.size();
•Linked Lists
•doubly linked list of any data type
•iterator, modification, access methods
•Classes, Objects and Methods
•Object Oriented
>Encapsulation, Inheritance, and Polymorphism
•Objects referenced with handles (Safe Pointers)