NEW
Font size
WorksheetsOOP Concepts Quiz 2
Total questions: 40
Worksheet time: 20mins
Which is not an OOP concept?
Abstraction
Polymorphism
Encapsulation
Preprocessing
Object is a/an:
Instance of class
Function
Variable
Operator
Combining data and methods is:
Encapsulation
Inheritance
Polymorphism
Overloading
Hiding implementation details is:
Abstraction
Overloading
Template
Virtualization
Blueprint of objects is:
Class
Constructor
Function
Template
Dynamic binding is also called:
Early binding
Static binding
Late binding
Constant binding
Overriding requires:
Same signature
Different class
Different scope
Different parameters
Overloading requires:
Different parameters
Same parameters
Different classes
Virtual keyword
The 'this' pointer refers to:
Base class
Calling object
Global object
Derived class
Destructor symbol is:
@
#
~
%
Copy constructor takes argument as:
By value
Pointer
Reference
Integer
Which cannot be overloaded?
Constructor
Destructor
Assignment operator
Function
Deep copy copies:
Pointer address only
Object + dynamic data
Only static members
Only code
IS-A relationship represents:
Aggregation
Inheritance
Composition
Encapsulation
To solve diamond problem, we use:
static
template
virtual inheritance
overriding
Which inheritance causes ambiguity?
Multiple
Single
Hierarchical
Multilevel
Upcasting converts:
Derived → Base
Base → Derived
Class → Object
Pointer → Reference
Pure virtual function makes a class:
Final
Abstract
Static
Friend
Virtual function enables:
Static binding
Dynamic binding
Compiler error
Abstraction only
Which operator cannot be overloaded?
+
=
::
[]
Virtual destructor ensures:
Fast execution
Proper derived cleanup
No inheritance
File closure
Templates implement:
Polymorphism
Exception
Generic programming
File handling
Template specialization means:
Custom version for specific type
Overloading
Exception
Memory allocation
vtable stores:
Functions
Virtual function pointers
Objects
Exceptions
vptr is maintained by:
User
Compiler
OS
Linker
Exceptions are handled using:
if else
try-catch
loops
static
throw keyword is used to:
Catch error
Generate exception
Close file
Debug program
catch(...) catches:
int only
string only
Any exception
none
std::bad_alloc indicates:
File missing
Memory allocation failure
Type mismatch
Syntax error
Uncaught exceptions lead to:
Program crash
Restart
Continue
Error message only
The block that must follow try is:
for
if
catch
switch
Serialization means:
Sorting data
Storing object to file
Converting to float
Allocating memory
RTTI is used for:
Type conversion
Compile-time checking
Runtime type checking
Memory optimization
Which guarantees deep copy?
Default copy constructor
Shallow copy
Custom copy constructor
Assignment operator
If destructor is not virtual, deleting base pointer causes:
Compilation error
Memory leak
No issue
Faster execution
explicit keyword is used to:
Disable implicit conversions
Enable polymorphism
Support templates
Make variables static
Which feature reduces redundancy?
Polymorphism
Abstraction
Inheritance
Composition
Function overriding means:
Redefining method in derived class
Using same name with different parameters
Using templates
Changing return type
The safest cast in C++ is:
static_cast
reinterpret_cast
const_cast
dynamic_cast
Object slicing is:
Base copy loses derived data
Cutting memory
Splitting classes
Changing pointer type
