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


Groups > de.sci.electronics > #203902

Re: C++ method pointer?

From Hans-Peter Diettrich <DrDiettrich1@aol.com>
Newsgroups de.sci.electronics
Subject Re: C++ method pointer?
Date 2016-03-09 20:11 +0100
Message-ID <dkbar9FrbmbU1@mid.individual.net> (permalink)
References <dkb40lFph51U1@mid.individual.net> <nbpr73$77j$1@news.albasani.net>

Show all headers | View raw


Thorsten Böttcher schrieb:
> Am 09.03.2016 um 18:14 schrieb Hans-Peter Diettrich:
>> 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 :-(
> 
> Kann man machen, ist aber unschön. Stichwort Funktoren.
> Um Memberfunktionen aufzurufen brauchst Du den Zeiger auf das Objekt.

Deshalb wollte ich ja die Methode innerhalb des Objekts aufrufen, dann 
ist die Instanz ja bereits bekannt (this).

> Wieviel verschiedene Dekoder gibt es denn?

Etwa 10, Tendenz steigend. Zudem hätte ich gerne noch eine Möglichkeit, 
die empfangenen Codes über Tabellen in einen einfacheren Datentyp 
umzuwandeln, z.B. '0'-'9' für numerische Tasten. Das sollte aber 
möglichst ohne komplizierte Programmierung gehen, die meisten Benutzer 
haben noch viel weniger Ahnung von C++ als ich ;-)

> Entweder Du baust Dir ein Interface, und erzeugst Dir passende Objekte 
> je nachdem was Du brauchst,

Das riecht für mich nach einem Template, und da kenne ich mich auch 
nicht (mehr) aus :-(

> oder Du erledigst das einfach mit ner 
> if-Abfrage, oder mit einem switch case Block.
> 
> begin(IRecv::DecodeNEC);
> 
> IRecv::read()
> {
>   if (decoder==DecoderNEC)
>     return decodeNEC;
>   else
>     return decodeSony();
> }

Das hat den Nachteil, daß alle angegebenen Decoder ins Programm 
eingebunden werden, und das möchte ich vermeiden. Der Linker ist ja 
schon so clever, daß er unbenutze Methoden wegläßt, man muß nur noch 
vermeiden, daß diese irgendwo in der Bibliothek referenziert werden.

Danke fürs Mitdenken
DoDi

Back to de.sci.electronics | Previous | NextPrevious in thread | Next 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