Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.sci.electronics > #203890

C++ method pointer?

From Hans-Peter Diettrich <DrDiettrich1@aol.com>
Newsgroups de.sci.electronics
Subject C++ method pointer?
Date 2016-03-09 18:14 +0100
Message-ID <dkb40lFph51U1@mid.individual.net> (permalink)

Show all headers | View raw


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 
mit einem Methoden-Pointer erledigen läßt :-(

Ewas konkreter: Es geht um die Klasse IRrecv aus der Arduino IRremote 
Bibliothek. Sie enthält Dekodierer für verschiedene Protokolle, z.B. 
decodeNEC(), decodeSony(), die ich schon von allem überflüssigen Ballast 
befreit habe. Nun möchte ich einen Pointer auf eine dieser Methoden 
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
     void begin(???); //soll Decoder mit dem übergebenen Parameter 
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 
soll, könnte ein einfacher Pointer ausreichen?

Wie müssen die oben markierten Stellen genau aussehen?

TIA
DoDi

Back to de.sci.electronics | Previous | NextNext in thread | Find similar | Unroll thread


Thread

C++ method pointer? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2016-03-09 18:14 +0100
  Re: C++ method pointer? Christian Zietz <newsgroup.1001@chz.xyz> - 2016-03-09 18:24 +0100
    Re: C++ method pointer? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2016-03-09 19:43 +0100
      Re: C++ method pointer? Christian Zietz <newsgroup.1001@chz.xyz> - 2016-03-09 20:03 +0100
        Re: C++ method pointer? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2016-03-09 20:29 +0100
          Re: C++ method pointer? Christian Zietz <newsgroup.1001@chz.xyz> - 2016-03-09 20:47 +0100
    Re: C++ method pointer? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2016-03-09 19:57 +0100
  Re: C++ method pointer? Thorsten Böttcher <thorsten_nospam@gmx.net> - 2016-03-09 19:49 +0100
    Re: C++ method pointer? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2016-03-09 20:11 +0100
      Re: C++ method pointer? Thorsten Böttcher <thorsten_nospam@gmx.net> - 2016-03-09 20:35 +0100
        Re: C++ method pointer? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2016-03-09 22:31 +0100
          Re: C++ method pointer? Thorsten Böttcher <thorsten_nospam@gmx.net> - 2016-03-10 06:45 +0100
            Re: C++ method pointer? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2016-03-10 16:59 +0100
  Re: C++ method pointer? Marc Santhoff <m.santhoff@t-online.de> - 2016-03-09 20:47 +0100
    Re: C++ method pointer? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2016-03-09 22:33 +0100
      Re: C++ method pointer? Christian Zietz <newsgroup.1001@chz.xyz> - 2016-03-09 23:11 +0100
      Re: C++ method pointer? Marc Santhoff <m.santhoff@t-online.de> - 2016-03-10 01:29 +0100
        Re: C++ method pointer? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2016-03-11 13:24 +0100
  Re: C++ method pointer? Edzard Egberts <ed_09@tantec.de> - 2016-03-10 08:51 +0100
    Re: C++ method pointer? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2016-03-10 16:33 +0100
  Re: C++ method pointer? Heinz Saathoff <newshsaat@arcor.de> - 2016-03-10 09:14 +0100
    Re: C++ method pointer? Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2016-03-10 16:42 +0100
      Re: C++ method pointer? Edzard Egberts <ed_09@tantec.de> - 2016-03-10 19:12 +0100
        Re: C++ method pointer? Edzard Egberts <ed_09@tantec.de> - 2016-03-11 08:04 +0100
        Re: C++ method pointer? Heinz Saathoff <newshsaat@arcor.de> - 2016-03-11 09:14 +0100

csiph-web