Вот пример того, что имел в виду Sid S:
Ah
class A {
public:
A(vector<A*>& a_objects_vector) {
a_objects_vector.push_back(this);
}
~A(vector<A*>& a_objects_vector) {
a_objects_vector.remove(this);
}
};
main.cpp
#include "A.h"
int main() {
vector<A*> all_a_objects;
A a(all_a_objects), *a1 = new A(all_a_objects);
/*Do your magic here...*/
delete a1;
return 0;
}