#define's are almost always a bad idea.
It's typically best to replace #defines with const variables.

We should also limit the default values either to the constructors or at the very least to the .cpp file.