Use consts instead of defines
Use size_t for countable items
Use member initialization list
Implement and use alternative constructor
Use const everywhere
Use consts
Use size_t instead of ints
Cleanups