[an error occurred while processing this directive]
|
служащий для обработки прерываний. При создании этого класса необходимо указывать обработчик (в данном случае это фунция exmpl_func). Как сделать, чтобы в качестве обработчика,при создании класса Handler использовался метод другого класса (например метод Catcher::func())
#include class Handler Handler(void (*p)()) void peform(){ }; void func() void print() void main() Какие подобные механизмы можно использовать, чтобы это вписывалось в концепции ООП.
E-mail:
info@telesys.ru
{
private:
void (*pointer)();
public:
Handler()
{
pointer = 0;
};
{
pointer = p;
};
if (pointer != 0)
pointer();
};
void exmpl_func()
{
printf("\nSome function.");
}
class Catcher{
Handler *handler;
public:
Catcher()
{
handler = new Handler(exmpl_func);
};
{
};
{
printf("\nClass Catcher");
if (handler != 0)
handler->peform();
};
};
{
Catcher catcher;
catcher.print();
}
Ответы