deep breath.
put it in code tags (<> on the side editor, or the word code in [] and \code to end tags)
explain what it should do.
explain what it is doing wrong.
day = day;
This statement is a no-op (doesn't do anything).
If a variable name in the constructor has the same name as a class member variable, you must do this->day = day; to assign the parameter to the member variable.
What does your checkTime function return if none of the if statements are entered?
In Date.h, this line makes no sense: class Date() = default;