А почему не сделать так:
timmodev.h:
class Timmodev
{
...
};
void cfg_init(Timmodev *pDevs, uint32 NumDevs);
unit_bbb.cpp:
#include "timmodev.h"
void cfg_init(Timmodev *pDevs, uint32 NumDevs)
{
for(uint32 i=0; i < NumDevs; i++)
pDevs[i].Init(); // какая-то инициализация
}
unit_aaa.cpp:
#include "timmodev.h"
#define NUM_TIMMODEVS 6
static Timmodev devs[NUM_TIMMODEVS];
void main()
{
...
cfg_init(devs, _countof(devs));
}
Замечу, однако, что это не ООП-шный подход, а скорее С с объектами.