У меня есть базовый класс Main от него создаётся производный класс Composite а от него в свою очередь создаются несколько производных классов Class_1, Class_2, и тд. Так вот я ни как не могу понять Как мне создать Сlass Iterator который бы связывал все объекты классов 1,2, и тд в один связанный список, причём все элементы списка должны иметь тип Main? Или для этого надо применить STLовский LIST. Кто сможет киньте пожалуйста кусочек кода. Буду очень обязан.
#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();
Здравствуйте, СПАРК, Вы писали:
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 >>
Здравствуйте, Михаил Можаев, Вы писали:
ММ>Здравствуйте, СПАРК, Вы писали:
ММ>ММ>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 >>
Здравствуйте, Дмитрий Наумов, Вы писали:
ДН>А может
ДН>ДН>for (MyList::iterator i=l.begin(), j=l.end(); i!=j; ++i)
ДН> // do something with ((*i)->)
ДН>
Ну, это смотря что делать. Например, если нужно передавать указатели в функцию, то нужны будут именно (*i).
Хотя, конечно, чаще все таки стрелочка будет нужна

... << RSDN@Home 1.0 beta 6a >>
СПАСИБО БРАТЦЫ!!!СЕЙЧАС ПОПРОБУЮ!
А то совсем зашился У меня иерархия всяких Iteratorов,NullIteratorов,MainIteratorов и Elementов 90% программы занимает и не работает что характерно
Здравствуйте, СПАРК, Вы писали:
СПА>СПАСИБО БРАТЦЫ!!!СЕЙЧАС ПОПРОБУЮ!
СПА>А то совсем зашился У меня иерархия всяких Iteratorов,NullIteratorов,MainIteratorов и Elementов 90% программы занимает и не работает что характерно
Refactoring по тебе плачет...

... << RSDN@Home 1.0 beta 6a >>