KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Due to the well-known issues with calling virtual methods from inside constructors and destructors, I commonly end up with classes that need a final-setup method to be called just after their constructor, and a pre-teardown method to be called just before their destructor, like this: MyObject * obj = new MyObject; obj->Initialize(); // virtual method call, required after ctor for (obj) to run properly [...] obj->AboutToDelete(); // virtual method call, required before dtor for (obj) to clean up properly delete obj; This works, but it carries with it the risk that the caller will forget to call either or both of those methods at the appropriate times. So the question is: Is there any way in C++ to get those methods to be called automatically, so the caller doesn't have to remember to do call them? (I'm guessing there isn't, but I thought I'd ask anyway just in case there is some clever way to do it)
Tags (comma-separated)
Save Edits
Cancel