Feld mit Pointer auf eine Klasse
-
Wenn ich ein Feld mit Pointer auf eine Klasse brauche mach ich dass so:
Klasse* KlasseSet = new Klasse[100];Dazu muss aber in der Klasse der Default Konstruktor vorhanden sein.
Was mache ich wenn der Default Konstruktor nicht public ist?
-
nein du erstellst da ein Array mit den Elementen Klasse und nicht Zeiger auf Klasse.
-
Erstens ist das da ein Pointer auf ein Array - ein Array von Pointern erzeugst du mit:
Klasse *KlasseSet[100]; for(int i=0;i<100;++i) KlasseSet[i]=new Klasse(i);Zweitens: statt der nackten Arrays könntest du auch STL-Container (z.B. vector<>) verwenden.
-
A1 schrieb:
Was mache ich wenn der Default Konstruktor nicht public ist?
Nimm richtige Kontainer. immer.
CStoll schrieb:
Erstens ist das da ein Pointer auf ein Array
Eigentlich ist es ein Pointer auf ein Element - nähmlich das erste - eines Arrays.