Пожалуйста! Помогите чайнику!
От: СПАРК Россия  
Дата: 15.04.03 13:50
Оценка:
У меня есть базовый класс Main от него создаётся производный класс Composite а от него в свою очередь создаются несколько производных классов Class_1, Class_2, и тд. Так вот я ни как не могу понять Как мне создать Сlass Iterator который бы связывал все объекты классов 1,2, и тд в один связанный список, причём все элементы списка должны иметь тип Main? Или для этого надо применить STLовский LIST. Кто сможет киньте пожалуйста кусочек кода. Буду очень обязан.
Re: Пожалуйста! Помогите чайнику!
От: Аноним  
Дата: 15.04.03 13:54
Оценка:
#include <list>

std::list<Main *>lps;

//
typedef std::list<Main *>::iterator LI;
for(LI s = lps.begin(), e = lps.end();s != e;++s)
   (*s)->MemberFun();
Re: Пожалуйста! Помогите чайнику!
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 15.04.03 13:57
Оценка: 2 (1)
Здравствуйте, СПАРК, Вы писали:

typedef std::list<main*> MyList;
MyList l;
l.push_back(new Composite());
l.push_back(new Class_1());
l.push_back(new Class_2());

for (MyList::iterator i=l.begin(), j=l.end(); i!=j; ++i)
    // do something with (*i)
... << RSDN@Home 1.0 beta 6a >>
Re[2]: Пожалуйста! Помогите чайнику!
От: Дмитрий Наумов  
Дата: 15.04.03 14:08
Оценка: 1 (1)
Здравствуйте, Михаил Можаев, Вы писали:

ММ>Здравствуйте, СПАРК, Вы писали:


ММ>
ММ>typedef std::list<main*> MyList;
ММ>MyList l;
ММ>l.push_back(new Composite());
ММ>l.push_back(new Class_1());
ММ>l.push_back(new Class_2());

ММ>for (MyList::iterator i=l.begin(), j=l.end(); i!=j; ++i)
ММ>    // do something with (*i)
ММ>


А может
for (MyList::iterator i=l.begin(), j=l.end(); i!=j; ++i)
    // do something with ((*i)->)
... << RSDN@Home 1.0 beta 6a >>
Re[3]: Пожалуйста! Помогите чайнику!
От: Михаил Можаев Россия www.mozhay.chat.ru
Дата: 15.04.03 14:17
Оценка: +1
Здравствуйте, Дмитрий Наумов, Вы писали:

ДН>А может

ДН>
ДН>for (MyList::iterator i=l.begin(), j=l.end(); i!=j; ++i)
ДН>    // do something with ((*i)->)
ДН>


Ну, это смотря что делать. Например, если нужно передавать указатели в функцию, то нужны будут именно (*i).
Хотя, конечно, чаще все таки стрелочка будет нужна
... << RSDN@Home 1.0 beta 6a >>
Re[4]: Пожалуйста! Помогите чайнику!
От: СПАРК Россия  
Дата: 15.04.03 14:24
Оценка:
СПАСИБО БРАТЦЫ!!!СЕЙЧАС ПОПРОБУЮ!
А то совсем зашился У меня иерархия всяких Iteratorов,NullIteratorов,MainIteratorов и Elementов 90% программы занимает и не работает что характерно
Re[5]: Пожалуйста! Помогите чайнику!
От: Дмитрий Наумов  
Дата: 15.04.03 14:30
Оценка:
Здравствуйте, СПАРК, Вы писали:

СПА>СПАСИБО БРАТЦЫ!!!СЕЙЧАС ПОПРОБУЮ!

СПА>А то совсем зашился У меня иерархия всяких Iteratorов,NullIteratorов,MainIteratorов и Elementов 90% программы занимает и не работает что характерно

Refactoring по тебе плачет...
... << RSDN@Home 1.0 beta 6a >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.