$24
Objectives:
Classes and Data Abstraction
User-defined classes
Implementation of a class in separate files
Learn about inheritance
Learn about composition/aggregation
Question 1 (40 marks):
A basic class dateType is designed to implement the date in a program, but the member function setDate does not check whether the date is in valid format.
Rewrite the definition of the function setDate so that the values for the month (1 to 12), day (1 to 31), and year (4 digits) are checked before storing the date into the member variables.
Add a member function, isLeapYear, to check whether a year is a leap year.
Sample Output
Question 2 (60 marks):
Part – 1:
Define a class addressType, that can store a street address, city, state, and ZIP code. Use the appropriate functions to print and store the address. Also, use constructors to automatically initialize the member variables.
Part – 2:
Derive a class extPersonType from the class personType. Add a member variable to this class to classify the person as a family member, friend, or business associate. (Hint: you can use an Integer data type to save this information. For example, 1 for family member, 2 for friend and 3 for business associate).
In addition, add a member variable to store the address (using addressType object). Add proper statements on in the main function to test you code. Use constructors to automatically initialize the member variables.
Sample Output:
Submission guideline:
You MUST follow the submission guideline. Otherwise you might lose your points.
So your submission folder structure should be:
LastnameFirstnameLab14.zip
program1.zip
dateType.h
dateTypeImp.cpp
mian.cpp
program2.zip
addressType.h
addressType.cpp
personType.h
personType.cpp
extPersonType.h
extPersonType.cpp
main.cpp