Mein erster OOP versuch

Mir ist egal wo die Dinger stecken.
Oben unten, links rechts.... egal.

void onTimer(Action func_)
{                     
      func_ = func;
 }

2 "fast" gleichlautende Bezeichner, nur unscheinbar anders.
Schnell sind sie vertauscht. Leicht zu übersehen

Hier ist dann klar und deutlich zu erkennen, was gemeint ist.

void onTimer(Action func)
{                     
      this->func = func;
 }

Man muss sich schon anstrengen, um sich hier zu irren, bzw. einen Irrtum zu übersehen.