Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Question 1: Make the classes as mentioned above. Make appropriate constructors and functions. Choose access type wisely. Question 2: Write main and construct objects of

Question 1: Make the classes as mentioned above. Make appropriate constructors and functions. Choose access type wisely.

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

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.

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

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.

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.

Question 7:

  1. Should destructors in the base class Person be declared virtual? Explain why or why not. [2 marks]
  2. Can we make a constructor virtual? Why or why not? (Explain with reference to VPTR) . [1 mark]
  3. Can we make Person class as abstract class? If yes, how? If no, why? [1 mark]
  4. What happens if we do not make a constructor of an abstract class. Explain. [1 mark]
  5. Is is possible to make promote function as virtual? Can this class be made abstract? Justify your answer. [1 mark]
  6. Should we define a destructor of an abstract class? Justify your answer with proper reasoning. [1 mark]
  7. 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]

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?

Question 9: Consider any three exceptions in this code and handle them. (These exceptions should not be related to file handling)

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

r. image text in transcribed

note :codes in c++

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

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Programming The Perl DBI Database Programming With Perl

Authors: Tim Bunce, Alligator Descartes

1st Edition

1565926994, 978-1565926998

More Books

Students also viewed these Databases questions

Question

How might mobile HR affect the various HR functions?

Answered: 1 week ago