[an error occurred while processing this directive] [an error occurred while processing this directive]
Использую следующее:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Papa Innokenty IV 16 апреля 2002 г. 11:53
В ответ на: Знатоки С++, а как можно сделать следующее (+) отправлено Внезапный тупик 16 апреля 2002 г. 11:32

На C++ надо использовать базовый класс, от которого базируются все классы.
Что-то вроде того:

class TPhereperial
{
virtual Init() = 0;
virtual Run() = 0;
virtual SysTick() = 0;
virtual Tick100ms() = 0;
};

class TUART : public TPhereperial
{
Init();
...
};
class TSPI : public TPhereperial
{
Init();
}

TUART UART;
TSPI SPI;
TPhereperial PH[] = {
UART, SPI, ...
};

Init()
{
TPhereperial * ph;
for(ph = PH[0] ; ph < sizeof(PH) ; ph++)
ph->Init();
}

Run()
{
TPhereperial * ph;
for(ph = PH[0] ; ph < sizeof(PH) ; ph++)
ph->Run();
}


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

Ответы



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

E-mail: info@telesys.ru