Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

(C++) 1).Use UML notations to describe the following classes and their relations

ID: 3727505 • Letter: #

Question

(C++) 1).Use UML notations to describe the following classes and their relationships. Define relevant private data, and the public methods for each class.

a) Define an ADT person that describes a general person.

b) Define a derived class from person that describes a typical student.

c) Define a derived class from person that describes a typical employee.

d) Derive from employee two special classes: councilor and instructor.

e) Derive from both student and employee; define a class partTimeWorkStudent who is a student and also a part time employee at the college

2).Use C++ to implement your definitions in above question for the classes person, student, employee, councilor, instructor, and test them with a main() program.

a) .h header file that defines all the classes in question.

b) .cpp file that implements all the classes in question.

c) .cpp driver program with a main() function that uses and tests these classes.

d) Effectively use the following C++ features for implementing class relationships:

ADT

Polymorphism

Class Inheritances

Explanation / Answer

Kindly provide the UML notation so that I can provide all the classes implementations.

For time being, I am providing all the Class skeletons below.

PersonInterface.h

******************************************

class Person {

private:
// declare all the relevant fields
public:
// declare all the relevant methods
};

class Student : public Person {
private:
// declare all the relevant fields
public:
// declare all the relevant methods
};

class Employee : public Person {
private:
// declare all the relevant fields
public:
// declare all the relevant methods
};

class Councilor : public Employee {
private:
// declare all the relevant fields
public:
// declare all the relevant methods
};

class Instructor : public Employee {
private:
// declare all the relevant fields
public:
// declare all the relevant methods
};

class PartTimeWorkStudent : public Student, public Employee {
private:
// declare all the relevant fields
public:
// declare all the relevant methods
};