Не совсем то. задача такая...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено iit 24 ноября 2006 г. 11:58
В ответ на: PS а зачем это нужно? может выходом будет '' произвести '' нужные классы от виртуального предка?(+) отправлено F8 24 ноября 2006 г. 10:05

Есть структура, грубо можно представить как корневой каталог, папки, подпапки и объекты. Т.е. каждая папка может содержать объекты разных типов и подпапки. У всех у них общий предок, который имеет метод для поиска объектов нужного типа и при нахождении обекта нужного типа должна вызываться функция, являющаяся методом того же класса, что и искомый объект.

class TSimple
{
...
public:
void find_object(..., ptr_func); //-- ptr_func указатель на метод класса.
}

class TFolder: public TSimple;
{
public:
void load(void);
}


class TObject: public TSimple;
{
public:
void save(void);
void load(void);
}

TFolder Folder, root;
TObject Object1, Object2;

...main...
{
...
// root содержит в себе Folder.
// Folder содержит в себе Object1 и Object2
...

Folder.find_object(TOBJECT,..., TObject::save); //-- Найти в папке Folder вложенные объекты типа TObject и при нахождении вызвать TObject::save, т.е. нашел Object1 должен произойти вызов Object1.save

Folder.find_object(TOBJECT,..., TObject::load); //-- Найти в папке Folder вложенные объекты типа TObject и при нахождении вызвать TObject::load, т.е. нашел Object1 должен произойти вызов Object1.load


root.find_object(TFOLDER,..., TFolder::load); //-- Найти в папке root вложенные объекты типа TFolder и при нахождении вызвать TFolder::load.

}

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
URL изображения: 
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 97:


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание