[an error occurred while processing this directive]
Вопрос по С++. Есть задача реализовать класс Handler,
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено _vladimir 14 июня 2005 г. 10:31

служащий для обработки прерываний. При создании этого класса необходимо указывать обработчик (в данном случае это фунция exmpl_func). Как сделать, чтобы в качестве обработчика,при создании класса Handler использовался метод другого класса (например метод Catcher::func())

#include

class Handler
{
private:
void (*pointer)();
public:
Handler()
{
pointer = 0;
};

Handler(void (*p)())
{
pointer = p;
};

void peform(){
if (pointer != 0)
pointer();
};

};


void exmpl_func()
{
printf("\nSome function.");
}


class Catcher{
Handler *handler;
public:
Catcher()
{
handler = new Handler(exmpl_func);
};

void func()
{

};

void print()
{
printf("\nClass Catcher");
if (handler != 0)
handler->peform();
};
};

void main()
{
Catcher catcher;
catcher.print();
}

Какие подобные механизмы можно использовать, чтобы это вписывалось в концепции ООП.

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru