PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Templates



29-04-2000, 17:16
Hi!!!
ne kleine (dumme Frage). ich hab da z.B. ne Template-Klasse, wie z.b.:

template <class T>
class Vector
{
private:
int msize;
...
public:
Vector (int size)
{
msize = size;
};
int getSize()
{
return msize;
};
...
};

soweit alles in ordnung. natürlich gehört da noch mehr hin, aber nur mal als beispiel. das klappt auch beim compilieren. aber ich hab's mir angewöhnt die inneren Funktionen außerhalb der Klasse zu deklarieren. also z.B: Vector::Vector (int size)
{
msize = size
};
und in der Klasse dann eben nur den Kopf stehen lassen. allerdings klappt das, sobald ich das mit ner Template klasse mache nichtmehr. muß ich die Funktionen nochmal irgendwie kennzeichnen???? sorry, hab aber noch nicht allzuviel mit templateklassen gearbeiten. hoffe mir kann jemand helfen http://www.linuxinfoserver.de/ubb/smile.gif
bis denne...

cu
Peter

docdooley
02-05-2000, 16:09
Hi,

erstmal gibt es schonmal keine dummen Fragen .. aber lassen wir das lieber .. ja die Signatur der Funktion sieht etwas anders aus ...
Deine Funktion sollte so aussehen:

template< class C > Vector< C >::Vector ( int size)
{
}
Und zu Deiner Klassendeklaration eine Templateklasse besitzt immer einen Parameter, sonst hätte das ja keinen Sinn, ich habe hier C als Parameter gewählt .. also die Klasse sollte so aussehen:
template< class C >
class Vector
{
};

docdooley



[Diese Nachricht wurde von docdooley am 02. Mai 2000 editiert.]

02-05-2000, 16:48
Hi!!!
danke!! jetzt funtzts http://www.linuxinfoserver.de/ubb/smile.gif. das mit der deklaration hatt ich allerdings richtig, bin ja nicht ganz dumm http://www.linuxinfoserver.de/ubb/smile.gif. entweder hab ich das mit dem parameter hinter template beim tippen hier vergessen, oder aber (das ist ja oft so), das ganze ist einfach vom Forum verschluckt worden und wurde falsch interpretiert, da ich in dem moment wohl nicht daran gedacht habe http://www.linuxinfoserver.de/ubb/smile.gif.
auf jeden fall nochmal danke!!!!!!

cu
Peter

[Diese Nachricht wurde von KronOS am 02. Mai 2000 editiert.]