🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #777

Templates in Klassen

#777
From: Hans-Martin Speiser
Date: Mon, 13 Nov 1995 09:44
54 lines
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!speiser

Show 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