![]() |
|
![]() ![]() ![]() |
|
BaHguT |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 7.5.2007 Репутация: нет Всего: нет |
//Это только чать кода программы
//Программа создает базу данных нже описано как она это делает //Писал не я прошу вас помочь мне в ней немного разобраться а имменно в //1 строчке плззз см ниже... За ранее спасибо // ели нужен весь код пишите вышлю... (она работает) #include <vector> #include <string> #include <iostream> using namespace std; class Leaf; class Component { public: //All functions are virtual, because we will redefine them later; virtual void traverse()=0; virtual int GetNumber() { return -1; } virtual string GetName() { return "NULL"; } virtual void add(Component*) { } virtual void PushBack(Leaf*) { } }; class Leaf : public Component { public: string discription;//String, in which we will set data about person void traverse() { cout << discription << ' '; } }; struct Query { int Facultet; int Group; string Name; vector<Leaf*> Discription; }; /////Facultet ///// | ///// Group ///// | /////Student //// | //// Leaf //// Leaf is a vector, that contains information about student class Composite : public Component { public: void query(Query q,Composite* com, int RecLevel=0);//Recursion level is 0 - we want to look in all tree vector<Composite*> Child; void add( Composite* Element ) { Child.push_back( Element ); } void traverse() { int i=0; for (i=0; i < Child.size(); i++) Child[i]->traverse(); //<<<<<< ЧТО ДЕЛАЕТ ЭТА СТРОЧКА } }; |
|||
|
||||
Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
вызывает метод traverse() каждого объекта класса Composite находящегося в векторе Child. Добавлено через 34 секунды То есть саму себя ![]() -------------------- Подпись больше не нужна |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Ну не себя, конечно, а вариант для каждого чайлда. Идея такая: чтобы сделать нечто с композитом, нужно проделать это нечто со всеми его составляющими. Логично, в общем. -------------------- ... |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 1 Всего: 191 |
2 BaHguT
В следущий раз, вставляйте плз програмный код в "Код" ! А на сичет вопроса, помойму, не так и сложно: функция вызывается, для каждого i го элемента (т.е. для каждого по элементно) и производит какую нить операцию с каждым элементом!!!!! И по мойму это не совсем рекурсия, поэтому вряд ли она вызывает саму сибя |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |