1) Using classes, design an online address book to keep track of the names, addresses, phone
numbers, and dates of birth of family members, close friends, and certain business associates.
Your program should be able to handle a maximum of 500 entries.
a. 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 data members.
b. Define a class extPersonType using the class personType (as defined in Example 1-12,
Chapter 1), the class dateType (as designed in Programming Exercise 2 of Chapter 2), and the
class addressType. Add a data member to this class to classify the person as a family member,
friend, or business associate. Also, add a data member to store the phone number. Add (or
override) the functions to print and store the appropriate information. Use constructors to
automatically initialize the data members.
c. Derive the class address BookType from the class arrayListType, as defined in this chapter, so
that an object of type address book type can store objects of type extPersonType. An object of
type address book type should be able to process a maximum of 500 entries. Add necessary
operations to the class address book type so that the program should perform he following
i. Load the data into the address book from a disk.
ii. Search for a person by last name.
iii. Print the address, phone number, and date of birth (if it exists) of a given person.
iv. Print the names of the people whose birthdays are in a given month or between two
v. Print the names of all the people having the same status, such as family, friend, or
vi. Print the names of all the people between two last names.