scar
14-03-2005, 21:12
Hi,
ich stehe derzeitig vor einem Problem.
Ich habe eine Klasse an die ich wahlweise int, float oder double Werte übergeben will.
Die Klasse hat 3 Funktionen: x(),y(),z().
An die will ich entweder nen Wert(float,double oder int) übergeben oder sie sollen nur einen gespeicherten Wert zurückgeben.
Habe das mit Templates probiert, aber das ist nicht so das wahre.
Vor allem, da ich nicht weiß wie ich das dann auf einen typ spezialisieren kann.
Zum Verständniß die Klasse:
class testClass
{
public:
template <typename T, typename R> R x(T _x);
template <typename T, typename R> R y(T _y);
template <typename T, typename R> R z(T _z);
template <typename T> testClass(T _x, T _y, T _z);
protected:
int iX, iY, iZ;
float fX, fY, fZ;
double dX, dY, dZ;
};
Eine andere Möglichkeit wäre, die Funktionen durch Variablen zu ersetzen,
doch die müssten dann halt aus 3 Typen bestehen.
Ich weiß aber nicht wie das geht, bezweifele sogar das das geht.
Ich hoffe ihr könnt mir da weiterhelfen.
Scar
ich stehe derzeitig vor einem Problem.
Ich habe eine Klasse an die ich wahlweise int, float oder double Werte übergeben will.
Die Klasse hat 3 Funktionen: x(),y(),z().
An die will ich entweder nen Wert(float,double oder int) übergeben oder sie sollen nur einen gespeicherten Wert zurückgeben.
Habe das mit Templates probiert, aber das ist nicht so das wahre.
Vor allem, da ich nicht weiß wie ich das dann auf einen typ spezialisieren kann.
Zum Verständniß die Klasse:
class testClass
{
public:
template <typename T, typename R> R x(T _x);
template <typename T, typename R> R y(T _y);
template <typename T, typename R> R z(T _z);
template <typename T> testClass(T _x, T _y, T _z);
protected:
int iX, iY, iZ;
float fX, fY, fZ;
double dX, dY, dZ;
};
Eine andere Möglichkeit wäre, die Funktionen durch Variablen zu ersetzen,
doch die müssten dann halt aus 3 Typen bestehen.
Ich weiß aber nicht wie das geht, bezweifele sogar das das geht.
Ich hoffe ihr könnt mir da weiterhelfen.
Scar