After I have already declared an object, how can I call its constructor again to re-initialize its member variables?
You can't do that. C++ guarantees that for each object, a constructor is executed once and only once. A constructor's address can't be taken so you can't even use a pointer to member function to call it again. It looks like you simply need a reset() member function that assigns initial values to the class's members. Add such a member function to your class and call it whenever you need to reset its members. You can reuse the reset() member function by calling it from the constructor as well.