in C++ please and thank you
Exercise L1-2 Chapter 11 Inheritance \& Composition This exercise is designed so each patient can have multiple doctors, and multiple bills. The details are listed below: A. Design the class doctortype, inherited from the class persontype, given below. Add a data member to store the doctors specialty. Also add appropriate constructors and member functions to initialize, access, and manipulate the data members. \#pragra once \#include is returned. B. Designed the class bil1Type with data members to store a patients ID and a patient's hospital charges, such as pharmacy charges for medicine, Doctors fee, and room charges. Add appropriate constructors and member functions to initialize, access, and manipulate the data members. C. Design the class patientType, inherited from the class persontype, with additional data members to store the patients ID, the age, date of birth, attending Physicians name, the date when the patient was admitted in the hospital, and the date when the patient was discharged from the hospital. (use the class dateType to store the date of birth, admit date, discharge date, and the class doctorType to store to be attending Physicians name.) Add appropriate constructors and member functions to initialize, access, and manipulate the data members. Enter patient's ID: 123456 Enter patient's first name: Joe Enter patient's last name: Blowinski Enter doctor's first name: Rob Enter doctor's last name: Yblind Enter doctor's speciality: Psychiatry Patient: Joe Blowinski Attending Physician: Rob Ublind Psychiatry Admit Date: 4-15-2009 Discharge Date: 4-21-2009 Pharmacy Charges: $245.50 Room Charges: $2500.00 Doctor's Fees: $3500.38 Total Charges: $6245.88 Press any key to continue. Class members doctoriype Class must contain at least these functions doctorType(string first, string last, string spd); //First Name, Last Name, Specialty void print() const; //Formatted Display First Name, Last Name, Specialty void setspeciality(string); //Set the doctor's Specialty string getSpeciality(): //Return the doctor's Specialty patient Type Class must contain at least these functions void setinfol string id, string fName, string lName, int bDay, int buth, int byeac, string docFeNare, string doclaName, string docSpl, int admbay, int admyth, int admyear, int disChDay, int disChMth, int disChYear); void setID(string); string getID(); void setBirthDate(int dy, int mo, int yr ); int getBirthDay(); int getBirthMonth(); int getBirthyear(); void setDoctorName(string fName, string IName); void setDoctorspl(string): string getDoctorFName(); string getDoctorLName(); string getDoctorspl(); void setAdmDate(int dy, int mo, int yr ); int getAdmDay(); int getadmMonth(); int getAdmYear(); void setDispate(int dy, int mo, int yr ); int getDispay(); int getDisMonth(); int getpisyeac(); illype Class must contain at least these functions