Polymorphism in C++ MCQs Exercise II

Ques 1 Polymorphism


Can we overload functions in C++?

A True
B False
C Sometimes
D None of these

Ques 2 Polymorphism


To enable runtime polymorphism in C++, the base class should have:

A Static member functions
B Friend functions
C Private member functions
D Virtual functions

Ques 3 Polymorphism


In C++, can you create an object of an abstract class?

A Yes, you can create an object of an abstract class.
B No, you cannot create an object of an abstract class.
C Only if the abstract class contains a constructor.
D Only if the abstract class is a subclass of another non-abstract class.

Ques 4 Polymorphism


Which keyword is used to declare a virtual function in C++?

A virtual
B polymorphic
C override
D base

Ques 5 Polymorphism


When should the destructor of a base class be declared as virtual?

A When the base class contains pure virtual functions.
B When the base class is an abstract class.
C When the base class has derived classes and the base class pointers are used to delete derived class objects.
D Destructor of a base class should always be virtual.

Ques 6 Polymorphism


What will be the output of the following C++ code?

#include<iostream>
class Base {
public:
    virtual void display() {
        std::cout << "Base" << std::endl;
    }
};
class Derived : public Base {
public:
    void display() override {
        std::cout << "Derived" << std::endl;
    }
};
int main() {
    Base* basePtr = new Derived;
    Derived derivedObj;
    basePtr->display();
    derivedObj.display();
    delete basePtr;
    return 0;
}

A Base Derived
B Derived Derived
C Base Base
D Derived Base