Membervariable einer Klasse nicht mit Standardkonstruktor verwenden
-
Hallo zusammen,
ich hab mal - glaube ich - eine ganz blöde Frage...
Ich hab eine Klasse A die keinen Standardkonstruktor hat sondern einen Integer übergeben bekommt. Nun möchte ich in Klasse B eine Membervariable von Klasse A verwenden...
private: KlasseA m_KlasseA(100);Aber der Compiler meldet mir immer den Fehler 'Konstante'... was hat das zu bedeuten bzw. wie kann ich eine Membervariable verwenden vom Typ der Klasse A?
-
Die Member der Klasse werden erst im eigenen Ctor initialisiert - wenn du nicht den Default-Ctor verwenden willst/kannst, über die Initialisierungsliste:
class test { subclass m_sub; public: test() : m_sub(100) {} };
-
mach doch folgendes :
private: KlasseA *m_KlasseA;Im Konstruktor :
m_KlasseA = new KlasseA(100);Im Destruktor wieder deleten
Es gibt bestimmt auch noch einen anderen Weg, aber dieser fällt mir gerade nicht ein.
Gruß SciFi
-
SciFi_ausgeloggt schrieb:
mach doch folgendes :
private: KlasseA *m_KlasseA;...
Wieso sollte man das tun ?
Oversized für dieses Anliegen und importiert überflüssig Gefahren/Aufwand.Ich stimme auch für Initialisierungsliste...
Gruß,
Simon2.