Article View: de.comp.lang.c++
Article #1171Re: Funktionszeiger auf Klassenmethoden
From: Claus Faerber
Date: Thu, 04 Jan 1996 11:59
Date: Thu, 04 Jan 1996 11:59
53 lines
1790 bytes
1790 bytes
Jens von Pilgrim <jpilgrim@conline.central.de> schrieb zu
Re: Funktionszeiger auf Klassenmethoden
in Artikel <1996Jan2.133329.19321@conline.central.de> vom 02.01.96:
> 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:
> Es KANN NICHT funktionieren: Wo kaeme den bei einem Methodenaufruf
> ueber Zeiger der THIS-Pointer her?????? Und den braucht die Methode
> doch unbedingt, Bsp:
>
> class X
> {
public:
> X(int inZahl) { x = inZahl; };
>
> int method() {return x } ;
>
> int x;
> }
>
> main()
> { X a(1),b(2);
> void *fptr;
Wenn schon, dann int(*fptr)();
>
> ... // hier wuerde der Funktionszeiger ermittelt (was nicht geht!)
>
> int c;
> c = *fptr(); // oder irgendwie so...
>
> -> wird jetzt 1 oder 2 zurueckgegeben??????????????????????
/*
So gehts:
*/
void main(a)
{
X a(1), b(2);
int(X::* fptr)(); // die Syntax ist ...
fptr = X::method;
int c;
c = a.*fptr();
}
-----------------------------------------------------------------------
Claus André Färber - claus@faerber.muc.de - http://www.muc.de/~cfaerber
-----------------------------------------------------------------------
Technical Details
Message-ID:
<60Cg3t83cDB@faerber.muc.de>Path:
arc1-ca.pugleaf.net!faerber.muc.de!clausReferences:
<48fv1i$paf@sparcserver.lrz-muenchen.de> <1996Jan2.133329.19321@conline.central.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!faerber.muc.de!claus Date: 04 Jan 1996 12:59:00 +0100 From: claus@faerber.muc.de (Claus Faerber) Newsgroups: de.comp.lang.c++ Message-ID: <60Cg3t83cDB@faerber.muc.de> References: <48fv1i$paf@sparcserver.lrz-muenchen.de> <1996Jan2.133329.19321@conline.central.de> Subject: Re: Funktionszeiger auf Klassenmethoden X-Newsreader: CrossPoint v3.1 R/B17071