| Abstract Class | A class containing at least one pure virtual function. Cannot be instantiated directly. |
| Class | A user-defined type that encapsulates data and functions. Supports inheritance and polymorphism. |
| Constructor | A special class method automatically called when an object is created. Initializes the object. |
| Copy Constructor | Creates a new object as a copy of an existing one. Signature: ClassName(const ClassName&). |
| Destructor | A special method automatically called when an object goes out of scope. Used to release resources. |
| Encapsulation | Combining data and methods into a single unit (class) and restricting access using access specifiers. |
| Friend | Allows external functions or classes to access private or protected members of another class. |
| Function Overloading | Defining multiple functions with the same name but different parameter types or counts. |
| Header File | A file (typically .h or .hpp) containing declarations of functions, classes, etc. |
| Heap | Memory region for dynamically allocated objects (via new and delete). |
| Inheritance | Mechanism where a class (derived) inherits members from another class (base). |
| Inline Function | A function suggested to be expanded in-place by the compiler to reduce function call overhead. |
| Lambda | An anonymous function defined using [] syntax, often used in STL algorithms. |
| Namespace | A way to group related code and avoid name collisions. |
| Object | An instance of a class, representing a data structure with behavior. |
| Operator Overloading | Defining custom behavior for operators (e.g., +, <<) for user-defined types. |
| Pointer | A variable that stores the address of another variable or object. |
| Polymorphism | The ability of objects to behave differently based on their dynamic type (usually via virtual functions). |
| RAII | Resource Acquisition Is Initialization – a technique where resources are tied to object lifetime. |
| Reference | An alias for another variable, declared using &. |
| Smart Pointer | Classes like std::unique_ptr or std::shared_ptr that manage object lifetime automatically. |
| Stack | Memory region for local variables with automatic lifetime and fast allocation/deallocation. |
| STL (Standard Template Library) | A collection of generic containers, algorithms, and iterators. |
| Template | A feature allowing generic programming by defining functions or classes with type parameters. |
| Virtual Function | A member function that can be overridden in derived classes, enabling dynamic dispatch. |