250+ TOP MCQs on OOPs Concept – 2 and Answers

C++ Programming Multiple Choice Questions & Answers (MCQs) on “OOPs Concept – 2”.

1. Which of the following class allows to declare only one object of it?
a) Abstract class
b) Virtual class
c) Singleton class
d) Friend class
Answer: c
Clarification: Singleton class allows the programmer to declare only one object of it, If one tries to declare more than one object the program results into error.

2. Which of the following is not a type of Constructor?
a) Friend constructor
b) Copy constructor
c) Default constructor
d) Parameterized constructor
Answer: a
Clarification: Friend function is not a constructor whereas others are a type of constructor used for object initialization.

3. Which of the following is correct?
a) Base class pointer object cannot point to a derived class object
b) Derived class pointer object cannot point to a base class object
c) A derived class cannot have pointer objects
d) A base class cannot have pointer objects
Answer: b
Clarification: C++ does not allow a derived class pointer to point a base class pointer whereas Base class can point to a derived class object. Both base class and derived class can have pointer objects.

4. Out of the following, which is not a member of the class?
a) Static function
b) Friend function
c) Constant function
d) Virtual function
Answer: b
Clarification: Friend function is not a member of the class. They are given the same access rights as the class member function have but they are not actual members of the class.

5. What is the other name used for functions inside a class?
a) Member variables
b) Member functions
c) Class functions
d) Class variables
Answer: b
Clarification: Functions of a class are also known as member functions of a class.

6. Which of the following cannot be a friend?
a) Function
b) Class
c) Object
d) Operator function
Answer: c
Clarification: Objects of any class cannot be made a friend of any other or same class whereas functions, classes and operator functions can be made a friend.

7. Why references are different from pointers?
a) A reference cannot be made null
b) A reference cannot be changed once initialized
c) No extra operator is needed for dereferencing of a reference
d) All of the mentioned
Answer: d
Clarification: References cannot be made null whereas a pointer can be. References cannot be changed whereas pointers can be modified.
Pointers need * operator to dereference the value present inside it whereas reference does not need an operator for dereferencing.

8. Which of the following provides a programmer with the facility of using object of a class inside other classes?
a) Inheritance
b) Composition
c) Abstraction
d) Encapsulation
Answer: b
Clarification: The concept of using objects of one class into another class is known as Composition.

9. How many types of polymorphism are there in C++?
a) 1
b) 2
c) 3
d) 4
Answer: b
Clarification: There are two types of polymorphism in C++ namely run-time and compile-time polymorphisms.

10. How run-time polymorphisms are implemented in C++?
a) Using Inheritance
b) Using Virtual functions
c) Using Templates
d) Using Inheritance and Virtual functions
Answer: d
Clarification: Run-time polymorphism is implemented using Inheritance and virtual in which object decides which function to call.

11. How compile-time polymorphisms are implemented in C++?
a) Using Inheritance
b) Using Virtual functions
c) Using Templates
d) Using Inheritance and Virtual functions
Answer: c
Clarification: Compile-time polymorphism is implemented using templates in which the types(which can be checked during compile-time) are used decides which function to be called.

12. Which of the following is an abstract data type?
a) int
b) float
c) class
d) string
Answer: c
Clarification: Class is used as an abstract data type as it can be used to give implementation independent view whereas no other data type can be used to provide this.

13. Which concept means the addition of new components to a program as it runs?
a) Data hiding
b) Dynamic binding
c) Dynamic loading
d) Dynamic typing
Answer: c
Clarification: Dynamic loading is the concept of adding new components to a program as it runs.

14. Which of the following explains the overloading of functions?
a) Virtual polymorphism
b) Transient polymorphism
c) Ad-hoc polymorphism
d) Pseudo polymorphism
Answer: c
Clarification: Ad-hoc polymorphism is a type of polymorphism in which a function denotes heterogeneous implementation depending upon the types of argument.

15. Which of the following approach is used by C++?
a) Top-down
b) Bottom-up
c) Left-right
d) Right-left
Answer: b
Clarification: C++ is an object-oriented language and OOL uses a bottom-up approach to solve/view a problem.

Leave a Reply

Your email address will not be published. Required fields are marked *