🧹 C++ Destructors – Clean Up Before You Leave
In C++, a destructor is like turning off the lights when you leave a room. It’s a special function that runs automatically when an object is about to be destroyed. 🕯️
💭 Why Use a Destructor?
- It helps release memory or clean up things
- It runs automatically when the object dies
- Useful for files, dynamic memory, or goodbye messages 😄
🔧 Example: Destructor in Action
#include <iostream> using namespace std; class Box { public: Box() { cout << "Constructor: Box created!" << endl; } ~Box() { cout << "Destructor: Box destroyed!" << endl; } }; int main() { Box b1; { Box b2; } // b2 goes out of scope here cout << "End of program!" << endl; return 0; }
📌 Rules of Destructors
- Starts with
~
and has the same name as the class - It takes no parameters
- You can’t overload it (only one destructor per class)
- Called automatically when object goes out of scope or is deleted
🔄 Constructor vs Destructor
- Constructor – Sets things up when object is created
- Destructor – Cleans up when object is destroyed
🧠 Summary
- Destructors run automatically when objects die
- They help clean up resources (like memory or files)
- Use them to be a responsible programmer! 🧼
Now your C++ objects know how to say both “Hello” and “Goodbye!” 🎉