This lab is due by Tuesday, June 18, 2019, 11:59 PM.
As with all labs you may, and are encouraged, to pair program a solution to this lab.
Concepts
Focus on defining a Date and an Event class from
	scratch.
Suggestion: Use NotePad or WordPad
	Consider using NotePad or WordPad on your computer to write your code
	for this lab. Once you feel good about what you've written, then copy
	the code into your project. Doing this will help you see where
	you might make mistakes on the exam!
	You should write a
	
main.cpp
	that tests each feature of your class works as expected. You
	will need to submit your class declaration files, your class
	definition files, and your
	main.cpp
	file for this lab.
Date Class
    We know you, as a Mines student, have a busy social life. Wouldn't it
    be great to have a program that helped you keep track of all your
    important dates (as in month, day, and year)? Write a Date class to
    represent this "thing" to the computer. What properties do you need to
    represent a date? Make these properties private to your class. (Again,
    you should know why private makes sense; ask it you don't!) In
    all functions that modify data members, you should always ensure the
    values being set make sense. (You do not need to worry about leap
    years.) Also, use a private helper function wherever one makes sense.
    Functions you should include in your class:
    
- A default constructor that sets the date to 12/30/1950 (an extremely important date in our history).
- A parameterized constructor that allows a user to enter a new date, such as "8,1,1876" (another extremely important date in our history).
- Appropriate getter and setter functions. (Perhaps one setter function makes the most sense?)
- A private validate function that checks if the object is currently in a good state (e.g., months are 1-12, days are 1-31, year can't be negative, etc. Don't worry about having the correct number of days in a month or leap years.) and, if not, resets the date object to the default values. This function should be called by all functions that modify the date object.
- A boolean member function that returns whether the callee is earlier than the target date argument passed.
Event Class
	Now that we have a way to represent a calendar date, we need a way to make
	entries into a calendar.  Create a new class called 
Event that
	contains a data member of type Date created above.
	In addition, add data members to track the event title and location.
	Functions you should include in your class:
	- A default constructor that sets the date to a default date (with the corresponding title and location for extra credit).
- A parameterized constructor that allows a user to enter a new date object, title, and location (such as "8/1/1876" and its corresponding info for extra credit). The parameterized constructor should operate on a Date object and no longer the individual month, day, year pieces.
- Appropriate getter and setter functions. The Date setter should operate on a Date object and no longer the individual month, day, year pieces.
- A print function that prints the details in the form: MM/DD/YYYY: Title (location).
Lab Submission
You will submit your solution to this lab with the rest of Set8. Detailed instructions for doing this are posted in Assignment 8.
This lab is due by Tuesday, June 18, 2019, 11:59 PM.
As with all labs you may, and are encouraged, to pair program a solution to this lab.