Top 50 C++ Interview Questions
Modern, practical, and interview-focused explanations.
1. What is C++?⌄
C++ is a high-performance programming language supporting procedural, object-oriented, and generic programming.
2. Difference between C and C++?⌄
C is procedural; C++ supports OOP concepts like classes, inheritance, and polymorphism.
3. What are OOP principles?⌄
Encapsulation, Abstraction, Inheritance, and Polymorphism.
4. What is a class?⌄
A class is a blueprint used to create objects.
5. What is an object?⌄
An object is an instance of a class.
6. What is constructor?⌄
A constructor initializes objects automatically at creation.
7. What is destructor?⌄
A destructor releases resources when an object is destroyed.
8. What is inheritance?⌄
Inheritance allows one class to acquire properties of another class.
9. What is polymorphism?⌄
Ability of a function or object to behave differently in different contexts.
10. Function overloading?⌄
Multiple functions with same name but different parameters.
11. Operator overloading?⌄
Redefining operators for user-defined types.
12. What is virtual function?⌄
A function that supports runtime polymorphism.
13. What is abstract class?⌄
A class containing at least one pure virtual function.
14. What is encapsulation?⌄
Wrapping data and methods together and restricting access.
15. What is abstraction?⌄
Hiding internal details and showing only essential features.
16. What is STL?⌄
Standard Template Library provides containers, algorithms, and iterators.
17. vector vs array?⌄
Vector is dynamic; array has fixed size.
18. What is memory leak?⌄
Allocated memory not properly released.
19. What is dangling pointer?⌄
Pointer pointing to deallocated memory.
20. What is smart pointer?⌄
Pointers that automatically manage memory (unique_ptr, shared_ptr).
21. What is RAII?⌄
Resource Acquisition Is Initialization for safe memory management.
22. What is namespace?⌄
Prevents name conflicts by grouping identifiers.
23. What is const keyword?⌄
Prevents modification of variables.
24. What is static keyword?⌄
Preserves value and restricts scope.
25. What is inline function?⌄
Expands function code at compile time for speed.
26. What is template?⌄
Allows writing generic and reusable code.
27. What is exception handling?⌄
Handling runtime errors using try, catch, throw.
28. What is multithreading?⌄
Executing multiple threads concurrently.
29. What is deadlock?⌄
Threads waiting indefinitely for resources.
30. What is lambda expression?⌄
Anonymous inline function introduced in C++11.
31. What is auto keyword?⌄
Automatically deduces variable type.
32. What is move semantics?⌄
Transfers resources instead of copying.
33. What is rvalue reference?⌄
Used to implement move semantics.
34. What is nullptr?⌄
Type-safe null pointer introduced in C++11.
35. What is explicit constructor?⌄
Prevents implicit type conversion.
36. What is final keyword?⌄
Prevents inheritance or overriding.
37. What is override keyword?⌄
Ensures function overrides base class method.
38. What is shallow copy?⌄
Copies object references instead of actual data.
39. What is deep copy?⌄
Copies actual data and allocates new memory.
40. What is const correctness?⌄
Ensuring objects are not modified unintentionally.
41. What is friend function?⌄
Function allowed to access private members.
42. What is diamond problem?⌄
Ambiguity caused by multiple inheritance.
43. What is virtual destructor?⌄
Ensures proper cleanup of derived objects.
44. What is type casting?⌄
Converting one data type to another.
45. static_cast vs dynamic_cast?⌄
static_cast is compile-time; dynamic_cast checks runtime type.
46. What is const_cast?⌄
Adds or removes const qualifier.
47. What is reinterpret_cast?⌄
Low-level type casting.
48. What is constexpr?⌄
Compile-time evaluated expressions.
49. What is noexcept?⌄
Specifies function does not throw exceptions.
50. Call by value vs call by reference?⌄
Call by value passes copies; call by reference passes addresses allowing modification.