Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Methodenzeiger auch in C++ implementierbar? (https://www.delphipraxis.net/48345-methodenzeiger-auch-c-implementierbar.html)

phlux 23. Jun 2005 21:36


Methodenzeiger auch in C++ implementierbar?
 
Hallo :hi:
Kann mir jemand mal sagen, ob man Methodenzeiger (also Methoden als Typen definieren) auch mit C++ machen kann?

mfg phlux :hi:

NicoDE 23. Jun 2005 22:13

Re: Methodenzeiger auch in C++ implementierbar?
 
Laut MS kann man __thiscall nicht angeben.
http://msdn.microsoft.com/library/en...e_thiscall.asp

ps: ansonsten, such mal nach Delegates

phlux 24. Jun 2005 09:50

Re: Methodenzeiger auch in C++ implementierbar?
 
Hallo Nico :hi:

Ich werd vorher nochmal was anderes ausprobieren was mir über nacht in den Sinn gekommen ist, trotzdem danke für den Tipp!

mfg phlux

Tubos 24. Jun 2005 10:01

Re: Methodenzeiger auch in C++ implementierbar?
 
Der Begriff "Methodenzeiger" verwirrt mich jetzt ein bisschen.
Falls du stinknormale Zeiger auf Funktionen meinst: Ja, natürlich gibts die in C++.

phlux 24. Jun 2005 10:18

Re: Methodenzeiger auch in C++ implementierbar?
 
Gib mal in der Delphi Hilfe Methodenzeiger an, dann siehst du was ich meine :)
Edit: Im grunde genommen gehts mir darum, das hier hinzukriegen:
http://www.delphipraxis.net/internal...174&highlight=

Oxmyx 30. Jun 2005 21:02

Re: Methodenzeiger auch in C++ implementierbar?
 
Methodenzeiger gibt's auch in C++.

Zuerst definierst du dir den Typ:
Code:
int (Klasse::* p_methode)(void);
Dann lässt du den Zeiger auf die Funktion der Klasse zeigen:
Code:
p_methode = &Klasse::methode;
Und rufst die Methode so auf:
Code:
Klasse eineInstanz;
int i = (eineInstanz.*p_methode)(void);


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz