Question
Consider the following scenario of a class Person. A Person class has a Name, ID, Address and has functions of change the address and profile
Consider the following scenario of a class Person. A Person class has a Name, ID, Address and has functions of change the address and profile display. (Hint: Composition is not applied) Two classes are derived from this class person. 1) Student 2) Employee. The student class has a course number, classes attended, year (freshman=1, sophomore=2 and so on), and functions to change course and profile display. The employee class has a Date of joining and date of promotion. The employee class further has two child classes 1) Faculty 2) Admin. Faculty class has a course number, classes taught, Rank (AP, lecturer etc) and a function to display profile. Admin class has number of projects worked on and a display profile function. Answer the questions based on this scenario. CLO1 15 Marks Question 1: Make the classes as mentioned above. Make appropriate constructors and functions. Choose access type wisely. [CLO1- 8marks] Question 2: Write main and construct objects of each class. Call class specific functions for each object to show how a function is called with each classs object. [CLO1- 2 marks] Question 3: Over-ride the function display profile in the base class and derived class students to display all the attributes of both of the class. [CLO1-5 marks] CLO2 - 20 marks Question 4: Explain the inheritance type you have applied for each of the derived class. Justify your answer as why you chose to inherit in this type and why you did not choose any other type of inheritance. [CLO 2- 2 marks] Question 5: Make display profile function as virtual function. Show the changes required in each class. Explain which is better, overriding the function OR virtual function. Justify your answer. [CLO2- 5 marks] Question 6: Call the virtual function for an object of each of the derived class. Now call it for the object of the base class. [CLO2-5 marks] Question 7: [CLO2- 8 marks] a) Should destructors in the base class Person be declared virtual? Explain why or why not. [2 marks] b) Can we make a constructor virtual? Why or why not? (Explain with reference to VPTR) . [1 mark] c) Can we make Person class as abstract class? If yes, how? If no, why? [1 mark] d) What happens if we do not make a constructor of an abstract class. Explain. [1 mark] e) Is is possible to make promote function as virtual? Can this class be made abstract? Justify your answer. [1 mark] f) Should we define a destructor of an abstract class? Justify your answer with proper reasoning. [1 mark] g) Why was there a need to define virtual functions? Explain an issue/trouble faced in inheritance that is only resolved by making functions virtual? [1 mark] CLO3 - 15 marks Question 8: Use operator overloading to make a copy assignment operator in class Person such that it copies all the attributes of object 1 to object 2. Explain how is this function different from default copy constructor? [CLO3- 5 marks] Question 9: Consider any three exceptions in this code and handle them. (These exceptions should not be related to file handling) [CLO3- 5 marks] Question 10: Make a friend function Add classes taken to class Students. Call this function such that it takes an object of class student and increases the number of classes taken by the integer given as function parameter. [CLO3 5 marks]
whole code in C++ basic needed urgently
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started