Concept Flow - Object lifecycle
Object Declaration
Constructor Called
Object in Use
Destructor Called
Object Destroyed
This flow shows how an object is created, used, and then destroyed in C++.
#include <iostream> class MyClass { public: MyClass() { std::cout << "Constructor\n"; } ~MyClass() { std::cout << "Destructor\n"; } }; int main() { MyClass obj; }
| Step | Action | Output | Object State |
|---|---|---|---|
| 1 | Enter main function | No object | |
| 2 | Declare obj of MyClass | Constructor | Object created |
| 3 | Use obj (no output here) | Object alive | |
| 4 | Exit main function | Destructor | Object destroyed |
| Variable | Start | After Step 2 | After Step 3 | After Step 4 |
|---|---|---|---|---|
| obj | Not declared | Constructed | Alive | Destroyed |
Object lifecycle in C++: - Object declared -> constructor runs - Object used while alive - Object destroyed -> destructor runs - Constructor and destructor manage setup and cleanup - Destructor runs automatically at scope end