/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
pointer til memberfunction
Fra : Peter Niels Jacobsen


Dato : 11-12-02 13:03

Jeg vil gerne have en array af pointere til memberfunktioner i en klasse.
Alle funktionerne har samme udseende, blot forskellige navne og
implementation. Hvis jeg har en array med pointere til dem, så kan jeg
nemmere håndtere hvilke der skal kaldes i hvilke situationer.

jeg har prøvet at omskrive en alm function pointer definition fra
typedef void (*TSomeFunc)(int);
til
typedef void (*CSomeClass::TSomeFunc)(int);
og div. andre versioner, men kannikke rigtig finde en syntax som compileren
gider tage til sig.

Hvordan er den korrkte syntex hvis jeg ønsker noget alla dette:

class CSomeClass
{
void Function1(int Var);
void Function2(int Var);
void Function3(int Var);
void Caller(void)
};

typedef void (*CSomeClass::TSomeFunc)(int);

CSomeClass::Caller(void)
{
TSomeFunc FunctionArray[3]={Function1,Function2,Function3};
(FunctionArray[SomeIndex])(567);
}
.......

dette er kun et helt overfladisk eksempel for at illustrere hvad det er jeg
vil. Nu har jeg en gigantisk switch statement som vælger mellem at kalde de
mange mange forskellige functioner. Jeg vil gerne kunne bruge et index til
direkte at pille pointeren til funktionen ud af en array.

Men igen... hvordan pokker er lige syntaksen for pointere til member
funktioner?















 
 
Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste