This C++ date class is intended to illustrate how to write a non- trivial class in C++.

Even though this class is non-trivial, it is still simple enough for a new C++ programmer to follow all of the details of the C++ program. This class also makes use of #ifndef directive