000
20.06.2005, 23:04 Uhr
~Moritz
Gast
|
Hallo,
ich komme mit der Spezialiserung von Templates nicht weiter.
Ich schreibe eine Klasse DreierVektor, die parametrisiert ist: template <S> class DreierVektor{ private: S _x; S _y; S _z; public: ... S operator*(DreierVektor other); ... S x(); ... };
dabei liefert operator* das Skalarprodukt zweier Vektoren. Soweit so gut, jetzt muss ich aber, wenn S eine komplexe Zahl ist, sprich von complex erbt, die werte komplex konjugieren. D.h. ich brauche irgend eine Möglichkeit, entweder den Operator zu spezialisieren, oder eine Abfrage zu machen, ob S von complex erbt, und dann einen dynamic_cast zu probieren. Allerdings kriege ich die Syntax nicht hin :( Wie gehts? Ach ja, dummerweise ist complex selbst auch parametrisiert, und die Lösung sollte also für alle complex<*> funktionieren...
Leider kenn ich mich mit C++ nicht gut genug aus, um das hinzukriegen...
Vielen Dank im Voraus und Grüße. Moritz |