OOP
Links and resources for strengthening the concepts of Object Oriented Programming [Java and C++]
Install / Use
/learn @vineethm1627/OOPREADME
OOP Cheatsheet by Love Babbar
Links and resources for strengthening the concepts of Object Oriented Programming [Java and C++] To the point for Interview Preparation and sufficient for Academics.
Love Babbar CheatSheet : cheatsheet <br> Love Babbar Video : video
Useful Links
SNo | Topic | Link | Language | ----|-------|------|----------| 1 | Virtual Functions | view | C++ | 2 | Polymorphism | view | C++ |
Resources
SNo | Language | Link | ----|----------|------| 1 | C++ | view | 2 | Java | view |
Overview
SNo | Topic | Link | Date Completed | ----|-------|------|----------------| 1 | What is OOP ? | view | not done | 2 | How OOP is related to real world ? | view | not done | 3 | Why to study OOPs ? | view | not done | 4 | Limitations of OOPs | view | not done | 5 | When we say that "X" language is object oriented programming language, then what does we mean by that ? | homework | not done |
Classes
SNo | Topic | Link | Date Completed | ----|-------|------|----------------| 1 | Difference between Structure and Class | view | not done | 2 | Similarities between Structure and Class | view | not done | 3 | When to use Structure over Class | homework | not done | 4 | Access Modifiers | view | not done | 5 | Member Function | view | not done | 6 | Constructor | view | not done | 7 | Destructor | view | not done |
Access Specifiers
There are 4 access modifiers in C++ :
- public
- private
- protected
- friend
- protected friend
Member functions
- Inside Class Function --> inline keyword
- Outside Class Function --> scope resolution operator (::)
Constructor
SNo | Topic | Link | Date Completed | ----|-------|------|----------------| 1 | Default Constructor | - | not done | 2 | Parameterised Constructor | - | not done | 3 | Copy Constructor : Deep vs shallow copy | view | not done | 4 | Copy Constructor : copy ctor vs assignment | view | not done | 5 | Virtual Constructor | view | not done | 6 | Virtual Copy Constructor | view | not done | 7 | Constructor vs member functions | view | not done | 8 | Constructor Overloading | view | not done |
Destructor
SNo | Topic | Link | Date Completed | ----|-------|------|----------------| 1 | Private Destructor | view | not done | 2 | Virtual Destructor | view | not done | 3 | Pure Virtual Destructor | view | not done | 4 | Destructor vs member functions | view | not done | 5 | Multiple Destructors in one class ? | view | not done | 6 | When to write user defined Destructor ? | view | not done | 7 | Can a Destructor be virtual ? | view | not done |
Objects
SNo | Topic | Link | Date Completed | ----|-------|------|----------------| 1 | difference btw Class and Object| view | not done | 2 | Real world Analogy btw Class and Object | view | not done |
Important Keywords
SNo | Topic | Link | Date Completed | ----|-------|------|----------------| 1 | static | view | not done | 2 | virtual | view | not done | 3 | abstract | view | not done | 4 | final | view | not done | 5 | explicit | view | not done | 6 | this | view | not done | 7 | new | view | not done | 8 | const | view | not done | 9 | super | view | not done |
Features of OOPs :
- Polymorphism
- Inheritance
- Encapsulation
- Abstraction
Polymorphism
SNo | Topic | Link | Date Completed | ----|-------|------|----------------| 1 | What is Polymorphism ? | view | not done | 2 | Need of Polymorphism ? | view | not done | 3 | Function / Operator Overloading | view | not done | 4 | Function Overriding | view | not done | 5 | Virtual Function | view | not done | 6 | Virtual Class | view | not done | 7 | Derived Class | view | not done | 8 | Can Virtual Function be private ? | view | not done | 9 | Inline Virtual Function | view | not done | 10 | Abstract Class | view | not done | 11 | Pure Virtual Function | view | not done | 12 | Pure Virtual Destructor | view | not done |
Polymorphism is categorised into 2 types :
- Function / Operator Overloading
- Function Overriding
Function / Operator Overloading
SNo | Topic | Link | Date Completed | ----|-------|------|----------------| 1 | Compile time Polymorphism | view | not done | 2 | Functions cannot be overloaded in C++ | view | not done | 3 | Operators that cannot be overloaded in C++ | view | not done |
Note : Function Overriding is also called run-time Polymorphism.
5 Types of Inheritance
- Single
- Mutliple
- Hierarchical
- Multilevel
- Hybrid / Virtual
Inheritance
SNo | Topic | Link | Date Completed | ----|-------|------|----------------| 1 | What is Inheritance ? | view | not done | 2 | Need of Inheritance | view | not done | 3 | Can OOP exist without Inheritance ? | view | not done | 4 | Types of Inheritance | view | not done | 5 | Real life examples of Multiple Inheritance | view | not done | 6 | Limitations of Inheritance | view | not done | 7 | Sealed Modifier | view | not done | 8 | Calling base method without creating instance | view | not done | 9 | new vs override | view | not done | 10 | Why JAVA doesn't support Multiple Inheritance | view | not done | 11 | Dreaded diamond in Multiple Inheritance | view | not done | 12 | Object Slicing | view | not done | 13 | Hide base class methods in JAVA | [view](https://stacko
Security Score
Audited on Mar 30, 2026
