C++ Как пробежаться по всем экземплярам класса?
Все элементы класса одного типа?
![](/images/graemlins/smile.gif)
По всем членам класса? Или по всем экземплярам класса? Что такое элементы класса?
Я так понял, что все элементы класса (переменные) нужно загнать в один массив
![](/images/graemlins/smile.gif)
Сделать глобальный список (массив, хэш — по вкусу) указателей на объекты. В конструкторе класса добавлять в него элемент, в деструкторе --- удалять. Затем просто пробегать по этому списку.
![](/images/graemlins/frown.gif)
Зачем массив? Список.
А пример можно?
![](/images/graemlins/smile.gif)
Ботай СТЛ. Пригодится в жизни.
Блин, вообщем понял, что не то сделал
![](/images/graemlins/frown.gif)
![](/images/graemlins/smile.gif)
Чуть подробнее: имеется класс. Хочу что бы можно было делать add_object, delete_object и цикл по всем элементам класса. Все совсем примитивно, но поскольку С хреново знаю - никак не могу придумать как сделать
![](/images/graemlins/frown.gif)
...
class MyClass
{
private:
static std::list<MyClass> MyInstances;
public:
MyClass; //
~MyClass; //
int run_through_instances(void (*CallerMyClass*;
};
...
MyClass::MyClass
{
MyInstances.push_front(this);
...
}
MyClass::~MyClass
{
MyInstances.remove(this);
...
}
...
int MyClass::run_through_instances(void (*CallerMyClass*
{
// здесь что-нить типа for_each для MyInstances
}
// яйцими не кидать, плюсов не знаю, STL тем боле
![](/images/graemlins/smile.gif)
Оставить комментарий
0000
Че в классе надо добавить, чтобы потом можно было сделать что то в духе. Ну и как вообще то можно реализовать?P.S. Ну как Enum что ли... вообщем даже не знаю что посмотреть.
P.P.S. И махонький пример, если можно.