你好
我有A类,该类有构造函数,mutator方法,检查器方法等。我怎样才能创建一个用该类创建的所有对象的链接列表(所有对象,我的意思是,如果通过mutator方法更改了“new”对象,也应该将其作为新对象链接)。如果可能的话,举个小例子。
答案 0 :(得分:1)
最简单的方法是使用静态列表,并从构造函数和析构函数中修改它。例如:
class A {
static std::list<A *> s_instances;
public:
A() { A::s_instances.push_back(this); }
~A() { A::s_instances.remove(this); }
};
答案 1 :(得分:0)
以下是Sid S的意思:
<强> A.H 强>
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;
}