virtuelle Templatefunktion in abstrakter Basisklasse
-
HH
(Abkürzung für 'Hai Hackers', 'Crackers' sind ausdrücklich ausgenommen),
würde gerne wissen, ob das Folgende standardkonform ist:
Kon- und Destruktor lasse ich mal weg.class a { template<typename T> virtual int StartUp(T ebbes); template<typename T> virtual int MachWeiter(T wasanderes) = 0; } class b:public a { template<typename T> virtual int StartUp(T ebbes){ ... Redefinition .. }; template<typename T> virtual int MachWeiter(T wasanderes){return Funktion_TuWas(wasanderes);}; }
Danke
arni
-
template und virtual schließen sich gegenseitig aus - unter Umständen weißt du ja zur Compilezeit des betreffenden Moduls noch nicht, wie viele Konkretisierungen der Methode es gibt, von daher kannst du keine Pointer darauf speichern.
-
@0xdeadbeef
Das hatte ich schon irgendwie vermutet.
Wenn man 'virtual' vergisst, dann isses aber doch okay, die Templatefunktion zu redefinieren und dann mita::Templatefunktion....
oder
b::Templatefunktion....
zu referenzieren, oder ist das falsch?
Thx
arni
-
arni schrieb:
@0xdeadbeef
Das hatte ich schon irgendwie vermutet.
Wenn man 'virtual' vergisst, dann isses aber doch okay, die Templatefunktion zu redefinieren und dann mita::Templatefunktion....
oder
b::Templatefunktion....
zu referenzieren, oder ist das falsch?
Thx
arniklar, alles ist ok solange kein Eintrag in der Vtable gebraucht wird.
-
@ arni:
Du kommst net zufällig aus Hesse,
weil "ebbes" kennt mer nur in Hesse!!!Gruß aus Darmstadt
-
@ColdAsIce
Darmstadt? is ja witzich, sitze hier in Traisa in der Nähe vom Forsthaus zur Eisernen Hand und dem Golfclub und bin täglich am hacken.
wie klein die Welt doch ist ( besonders seit dem es Internet gibt).
mfg
arni