3i Infotech Placement: Sample Questions 152 - 152 of 1245

Glide to success with Doorsteptutor material for competitive exams : get questions, notes, tests, video lectures and more- for all subjects of your exam.

Question 152

Describe in Detail Essay▾

Find the output of the following program

  1. class base
  2. {
  3. public:
  4. Void baseFun ()
  5. {
  6. cout≪ “from base”≪endl;
  7. }
  8. };
  9. class deri:Public base
  10. {
  11. public:
  12. Void baseFun ()
  13. {
  14. cout≪ “from derived” ≪endl;
  15. }
  16. };
  17. void SomeFunc (base baseObj)
  18. {
  19. baseObj baseFun ();
  20. }
  21. int main ()
  22. {
  23. base baseObject;
  24. SomeFunc (&baseObject);
  25. deri deriObject;
  26. SomeFunc (&deriObject);
  27. }
Edit

Explanation

  • In the program
Table Showing the Program
  1. class base
  2. {
  3. public:
  4. Void baseFun ()
  5. {
  6. cout << “from base” << endl;
  7. }
  8. };
  • In base class define the void baseFun () function
  • In a baseFun () cout prints “from base”
  1. class deri:Public base
  2. {
  3. public:
  4. Void baseFun ()
  5. {
  6. cout << “from derived” << endl;
  7. }
  8. };
  • In deri class define the void baseFun () function
  • In a baseFun () cout prints “from derived”
  1. void SomeFunc (base baseObj)
  2. {
  3. baseObj baseFun ();
  4. }
SomeFunc expects a pointer to a base class.
  1. int main ()
  2. {
  3. base baseObject;
  4. SomeFunc (&baseObject);
  5. deri deriObject;
  6. SomeFunc (&deriObject);
  7. }
  • Define the base () function object baseObject
  • SomeFunc () function pass the baseobject address
  • Define the deri () function object deriObject
  • SomeFunc () function pass the deriobject address
  • A pointer to a derived class object is passed but SomeFunc treats it as a base class pointer and the corresponding base function is called.
  • Remember that baseFunc is not a virtual function and does not support polymorphism.