🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1160

Re: Funktionszeiger auf Klassenmethoden

#1160
From: Reinhard Pfau
Date: Wed, 03 Jan 1996 12:20
50 lines
2345 bytes
Jens von Pilgrim (jpilgrim@conline.central.de) wrote:
: Sedl@lrz.fh-muenchen.de (Andreas Sedlmayr) will Funktionszeiger auf
: Methoden verwenden.
: Dies waere, wenn es funktionieren wuerde toll (z.B. um in GUI-Systemem
: Fenster direkt mit Event-Handler-Methoden zu verbinden). Aber:
Wenn du einen Blick in die OWL von Borland wirfst, wirst du genau das
finden ;-)
: Es KANN NICHT funktionieren: Wo kaeme den bei einem Methodenaufruf
: ueber Zeiger der THIS-Pointer her?????? Und den braucht die Methode
: doch unbedingt, Bsp:
Den gibt man bei Aufruf der Methode dann mit an:
(ich bastel mal an deinem Bsp rum...)

:   class X 
:   {
:     X(int inZahl) { x = inZahl; };
:      int method() {return x } ;
:      int x;
:   }

:   main()
:   { X a(1),b(2);
:     void *fptr;
        // ^^^^^^also so nicht, fptr ist ja kein Zgr auf 'ne Fkt.!!   
     void (X::*Xfptr)();  // Xfptr ist Zeiger auf Methode der Klasse X
:   
:     ... // hier wuerde der Funktionszeiger ermittelt (was nicht geht!)
//     doch, geht:
    Xfptr = &X::method;
:   
:     int c;
:    c = *fptr(); // oder irgendwie so...
  // s.o. fptr ist bei dir kein Fkt-Zgr.
:    -> wird jetzt 1 oder 2 zurueckgegeben??????????????????????
     c = a.*Xfptr(); // liefert 1
     c = b.*Xfptr(); // liefert 2
// waere 'd' Zgr auf 'X'-Instanz, dann:  'c = d->*Xfptr();'

: That's its, I'm sorry..... ;-(
: Jens

(Das Posting von Andreas habe ich leider hier nicht gesehen, daher
kann das ganze evtl. nicht zur urspr. Frage passen....)

Reinhard.  
--
 /-- Reinhard Pfau --- (ED-Pfau) --------------------------------------------\
| eMail: gz342@appl2.hrz.uni-siegen.de  |  IRC: Mubo  | no home-page         |
+----------------------------------------------------------------------------+
|  WinErr 0: "Mouse not found  - klick to continue"                          |
Technical Details
Message-ID: <4cdsa8$7k9@si-nic.hrz.uni-siegen.de>
Path: arc1-ca.pugleaf.net!appl2.hrz.uni-siegen.de!gz342
References: <48fv1i$paf@sparcserver.lrz-muenchen.de> <1996Jan2.133329.19321@conline.central.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!appl2.hrz.uni-siegen.de!gz342
From: gz342@appl2.hrz.uni-siegen.de (Reinhard Pfau)
Newsgroups: de.comp.lang.c++
Subject: Re: Funktionszeiger auf Klassenmethoden
Date: 3 Jan 1996 12:20:24 GMT
Organization: HRZ, UNI/GHS Siegen
Message-ID: <4cdsa8$7k9@si-nic.hrz.uni-siegen.de>
References: <48fv1i$paf@sparcserver.lrz-muenchen.de> <1996Jan2.133329.19321@conline.central.de>
NNTP-Posting-Host: appl2.hrz.uni-siegen.de
X-Newsreader: TIN [version 1.2 PL2]