Article View: de.comp.lang.c++
Article #777Templates in Klassen
From: Hans-Martin Speiser
Date: Mon, 13 Nov 1995 09:44
Date: Mon, 13 Nov 1995 09:44
54 lines
2230 bytes
2230 bytes
Hallo auch,
ich versuche schon eine Weile unter Borland C++ 4.5 eine template Klasse
in meine eigene Klasse zu integrieren. Dabei habe ich folgendes
Problemchen:
Ich kann die template Klasse nicht initialisieren!!
Um etwas genauer zu sein habe ich eine Klasse "Eimer" angelegt, in der
ich ein Attribut
class Eimer
{
privat
TArrayAsVector<string> inhalt;
public:
Eimer(void);
Add_was(const string& s);
}
definiert habe. In dem Konstruktor zu dieser Klasse wuerde ich gerne den
Array initialisieren, um dann direkt unter "Add_was" einen Befehl wie
inhalt.AddItem(s);
aufrufen zu koennen. (Dabei ist natuerlich "AddItem" in der
Kontainerklasse definiert!)
Und soweit bin ich bisher gekommen:
Definiere ich meine Klasse "Eimer" wie oben dann findet "Borland" in dem
Konstruktor der Klasse keinen default Konstruktor zum initialisieren der
Variable "inhalt".
Fehlermeldung: Cannot find default constructor to initialize member
"inhalt" in function Eimer::Eimer()
Definiere ich in meiner Klasse "Eimer" den "inhalt" so:
"TArrayAsVector<string> inhalt();", dann bekomme ich folgende
Fehlermeldung: Structure required on left side of . or .* in function
Eimer::Add_was(const string &) und zwar in der Zeile von
"inhalt.AddItem(s);". Was mach ich falsch?
Bemerkung 1:
Es gibt fuer TArrayAsVector<T> einen Konstruktor (x), der die Groesse
des Arrays
angibt und einen leeren Array anlegt - schaetze den muss ich irgendwo
verwenden -
der geht aber nicht bei der Definition des Attributs "inhalt" in der
Klasse "Eimer"!
Bemerkung 2:
Ich kann den Konstruktor von Bemerkung 1 wunderbar in einer Funktion
main()
anwenden aber nicht in einem Konstruktor einer Klasse wie ich es will!
Viel Spass :-) und bitte helf mir einer...
Technical Details
Message-ID:
<48741g$24k@apopi.u-strasbg.fr>Path:
arc1-ca.pugleaf.net!berlioz.u-strasbg.fr!speiserShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!berlioz.u-strasbg.fr!speiser From: Hans-Martin Speiser <speiser@eric.u-strasbg.fr> Newsgroups: de.comp.lang.c++ Subject: Templates in Klassen Date: 13 Nov 1995 09:44:16 GMT Organization: ERIC Distribution: world Message-ID: <48741g$24k@apopi.u-strasbg.fr> NNTP-Posting-Host: berlioz.u-strasbg.fr X-UserAgent: Version 1.1.3 X-XXMessage-ID: <ACCCD2888501B077@berlioz.u-strasbg.fr> X-XXDate: Mon, 13 Nov 95 10:46:32 GMT