Article View: de.comp.lang.c++
Article #1160Re: Funktionszeiger auf Klassenmethoden
From: Reinhard Pfau
Date: Wed, 03 Jan 1996 12:20
Date: Wed, 03 Jan 1996 12:20
50 lines
2345 bytes
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!gz342References:
<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]