Create a "Date" class that contains:
- three private data members:
(I leave it to you to decide the type)
- "setters" and "getters" for each of the data (6 functions in total)
- One advantage of a "setter" is that it can provide error checking.
Add assert statements to the setter to enforce reasonable conditions.
For example, day might be restricted to between 1 and 31 inclusive.
- one default constructor (no arguments)
- one constructor with three arguments: month, day, and year
- Add assert statements to enforce reasonable conditions.
- a printDate function. This function will have no
arguments and return void
- a sameMonth function. This function will have one
Date argument and a boolean return type
In main (in the following order):
- instantiate one date object (date1) using the default constructor
- use the getters
to display the month,
day, and year of date1 (should print the default values)
- read keyboard input from the user for a month, day and year
- use the setters to set the values of date1 to the values that came from the user
- read keyboard input from the user for a second date
- use the constructor with three arguments to
instantiate date2 to the second date input from the user
- print both objects using printDate
- print a message to say if the two months are the same (testing the sameMonth function)
Your code should be in three files:
- contains the class definition
- includes "Date.h"
- contains the functions for the class
- includes "Date.h"
- tests the class
Testing the default constructor and the getters
The initialized date is (M-D-Y):1-1-1
Please enter a date:(Month Day Year): 11 03 1976
Please enter a second date:(Month Day Year): 03 03 1999
Printing the two days:
The date is (M-D-Y): 11-3-1976
The date is (M-D-Y): 3-3-1999
The months are different
If you are having trouble compiling your class, check for these common errors:
- You have forgotten the semi-colon(;) after the closing curly bracket (}) for the class definition (in the Date.h file)
- You have forgotten the scope resolution as in: void Date::setYear(int y) (in the Date.cpp file)
- You forgot the () after the function name. For example, you should write: cout << date1.getYear() (in main.cpp)
For the StudentClass that we go over this week, see StudentClass.cpp