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.


  • Mod

    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.


Anmelden zum Antworten