Problem: eine Klasse implementiert mehrere (gleichartige) Methoden, von denen eine bestimmte zur Laufzeit aufgerufen werden soll. Leider sind meine C++ Kenntnisse sehr angestaubt, ich komme nicht drauf wie sich das
Ewas konkreter: Es geht um die Klasse IRrecv aus der Arduino IRremote
innerhalb seiner Klasse erzeugen, vorbesetzen und dann aufrufen. Sowas wie:
In der Bibliothek:
class IRrecv { public: bool decodeNEC(); bool decodeSony(); ... bool() *Decoder; //??? soll auf eine der o.g. Methoden zeigen
initialisieren char read(); //soll intern Decoder aufrufen };
IRecv::read() { if (*Decoder()) //??? soll die Methode aufrufen return results.asc; else return '?'; }
Im Programm:
IRrecv irrecv(IR_PIN); //erzeugt Instanz (Singleton)
void setup() { irrecv.begin(&decodeNEC); //??? soll den Pointer initialisieren }
void loop() { if (irrecv.available()) { char data = irrecv.read(); ... } }
Da die Methode nur innerhalb der (selben) Instanz aufgerufen werden
TIA DoDi