Zoobastik
|
Комок меха
|
|
|
|
Рег.: 18.10.2003
|
Сообщений: 7460
|
Из: За спиной
|
Рейтинг: 4347
|
|
C++ Как пробежаться по всем экземплярам класса?
22.07.2006 15:33
|
|
|
Че в классе надо добавить, чтобы потом можно было сделать что то в духе. Ну и как вообще то можно реализовать? P.S. Ну как Enum что ли... вообщем даже не знаю что посмотреть. P.P.S. И махонький пример, если можно.
Редактировал DarkGray (22.07.2006 16:10)
|
|
muff
|
old hand
|
|
|
|
Рег.: 07.06.2004
|
Сообщений: 721
|
|
Рейтинг: 144
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: Zoobastik]
22.07.2006 15:37
|
|
|
Все элементы класса одного типа?
|
|
Zoobastik
|
Комок меха
|
|
|
|
Рег.: 18.10.2003
|
Сообщений: 7460
|
Из: За спиной
|
Рейтинг: 4347
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: muff]
22.07.2006 15:40
|
|
|
Да вообще самый простой случай
|
|
Alex
|
veteran
|
|
|
|
Рег.: 16.10.2002
|
Сообщений: 1940
|
Из: ЮЗАО
|
Рейтинг: 18
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: Zoobastik]
22.07.2006 15:48
|
|
|
По всем членам класса? Или по всем экземплярам класса? Что такое элементы класса?
|
|
muff
|
old hand
|
|
|
|
Рег.: 07.06.2004
|
Сообщений: 721
|
|
Рейтинг: 144
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: Alex]
22.07.2006 15:53
|
|
|
Я так понял, что все элементы класса (переменные) нужно загнать в один массив
|
|
Zoobastik
|
Комок меха
|
|
|
|
Рег.: 18.10.2003
|
Сообщений: 7460
|
Из: За спиной
|
Рейтинг: 4347
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: Alex]
22.07.2006 15:57
|
|
|
Экземплярам (блин не подумал про члены - про это вроде пример в MSDN видел)
|
|
Alex
|
veteran
|
|
|
|
Рег.: 16.10.2002
|
Сообщений: 1940
|
Из: ЮЗАО
|
Рейтинг: 18
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: Zoobastik]
22.07.2006 16:10
|
|
|
Сделать глобальный список (массив, хэш - по вкусу) указателей на объекты. В конструкторе класса добавлять в него элемент, в деструкторе --- удалять. Затем просто пробегать по этому списку.
|
|
Zoobastik
|
Комок меха
|
|
|
|
Рег.: 18.10.2003
|
Сообщений: 7460
|
Из: За спиной
|
Рейтинг: 4347
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: Alex]
22.07.2006 16:17
|
|
|
То есть при пробегании смотреть является л элемент массива NULL или нет (в этом случае обрабатываем элемент класса). Я так думал сделать, тока что то мне казалось можно как то попроще 
|
|
Cfnehy
|
Сатурн
|
|
|
|
Рег.: 25.09.2004
|
Сообщений: 3317
|
Из: ути-пути
|
Рейтинг: 0
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: Zoobastik]
22.07.2006 16:30
|
|
|
Зачем массив? Список.
|
Сойди с ума сегодня рано, и назовут тебя поэт... |
|
Zoobastik
|
Комок меха
|
|
|
|
Рег.: 18.10.2003
|
Сообщений: 7460
|
Из: За спиной
|
Рейтинг: 4347
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: Cfnehy]
22.07.2006 17:01
|
|
|
|
Zoobastik
|
Комок меха
|
|
|
|
Рег.: 18.10.2003
|
Сообщений: 7460
|
Из: За спиной
|
Рейтинг: 4347
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: Zoobastik]
22.07.2006 18:57
|
|
|
Усе - не нада - через массив сделал - оказалось проще, чем я думал 
|
|
Cfnehy
|
Сатурн
|
|
|
|
Рег.: 25.09.2004
|
Сообщений: 3317
|
Из: ути-пути
|
Рейтинг: 0
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: Zoobastik]
22.07.2006 21:15
|
|
|
Ботай СТЛ. Пригодится в жизни.
|
Сойди с ума сегодня рано, и назовут тебя поэт... |
|
Zoobastik
|
Комок меха
|
|
|
|
Рег.: 18.10.2003
|
Сообщений: 7460
|
Из: За спиной
|
Рейтинг: 4347
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: Cfnehy]
24.07.2006 17:42
|
|
|
Пригодиться - это можно все что угодно ботать.
Блин, вообщем понял, что не то сделал киньке кто нить пример, а? плз  Чуть подробнее: имеется класс. Хочу что бы можно было делать add_object, delete_object и цикл по всем элементам класса. Все совсем примитивно, но поскольку С хреново знаю - никак не могу придумать как сделать 
Редактировал Zoobastik (24.07.2006 18:20)
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
Re: C++ Как пробежаться по всем элементам класса?
[re: Zoobastik]
24.07.2006 22:28
|
|
|
что-то типа:
code:
...
class MyClass
{
private:
static std::list<MyClass> MyInstances;
public:
MyClass(); //
~MyClass(); //
int run_through_instances(void (*Caller)(MyClass*));
};
...
MyClass::MyClass()
{
MyInstances.push_front(this);
...
}
MyClass::~MyClass()
{
MyInstances.remove(this);
...
}
...
int MyClass::run_through_instances(void (*Caller)(MyClass*))
{
// здесь что-нить типа for_each для MyInstances
}
// яйцими не кидать, плюсов не знаю, STL тем боле 
|
|