Question: QUESTION IN TEXT FORMAT: Lab Exercise -- ADTs Implemented with C++ Classes Create a Date class that contains: three private data members: month day year

 QUESTION IN TEXT FORMAT: Lab Exercise -- ADTs Implemented with C++Classes Create a "Date" class that contains: three private data members: month

QUESTION IN TEXT FORMAT:

Lab Exercise -- ADTs Implemented with C++ Classes

Create a "Date" class that contains:

three private data members:

month

day

year (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:

Date.h

contains the class definition

Date.cpp

includes "Date.h"

contains the functions for the class

main.cpp

includes "Date.h"

tests the class

Sample Output

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

For the StudentClass that we go over this week, see StudentClass.cpp

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!