PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C++]Funktion mit unterschiedlichen Typen als Rückgabewert und Parameter?



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

locus vivendi
15-03-2005, 11:02
Mir zumindest ist jetzt nicht wirklich klar geworden, was du eigentlich erreichen willst. Vielleicht kannst du das ja noch mal erläutern?

Wie du Templates explizit spezialisierst bitte in einer Ressource deines Vertrauens nachschauen oder z.B. hier
http://www.icce.rug.nl/documents/cpp.shtml

michael.sprick
15-03-2005, 11:26
was spricht gegen Überladung?