In Programming Exercise 2, the class dateType was designed and implemented
to keep track of a date, but it has very limited operations. Redefine
the class dateType so that it can perform the following operations on a
date, in addition to the operations already defined:
a. Set the month.
b. Set the day.
c. Set the year.
d. Return the month.
e. Return the day.
f. Return the year.
g. Test whether the year is a leap year.
h. Return the number of days in the month. For example, if the date is
3-12-2013, the number of days to be returned is 31 because there are
31 days in March.
i. Return the number of days passed in the year. For example, if the date is
3-18-2013, the number of days passed in the year is 77. Note that the
number of days returned also includes the current day.
j. Return the number of days remaining in the year. For example, if the
date is 3-18-2013, the number of days remaining in the year is 288.
k. Calculate the new date by adding a fixed number of days to the date. For
example, if the date is 3-18-2013 and the days to be added are 25, the
new date is 4-12-2013.