Objekt wie Array mit Indizes deklarieren?



  • Hallo,

    Ich schreibe gerade ein Prograam dass MP3-Lieder mit dem Standardplayer startet. Jedes Lied ist ein eigenes Objekt. Ich würde diese jetzt gerne als Liste ausgeben können und über eine Nummerierung 1-..., eine Auswahl ermöglichen.

    Also muss ich die Objektnamen irgendwie durchnummerieren. Ich dachte eigentich dass das wie bei Arrays geht aber wenn ich versuche Objekte so zu installieren:

    klassenname objektname[20]();
    

    funktioniert es nicht.

    Weiß jemand wie ich das anders realisieren kann?



  • klassenname objektname()[20];
    

    wäre logischer.



  • Was soll das machen? Eine Funktion deklarieren? Ein Array von Klasseninstanzen legt man an wie ein Array jedes anderen Typs auch:

    Objekt objekt1; // Instanz von Objekt anlegen
    Objekt objekt2(); // Deklariert eine Funktion, die eine Instanz von Object zurückgibt.
                      // Warum sollten die Klammern bei einem Array stehen müssen?
    
    int ints[5];       // Fünf ints
    Objekt objekte[5]; // Fünf Objekte
    

    Arrays aus einer Funktion zurückzugeben ist nicht möglich. Dafür würde ich einen std::vector nehmen, weil er auf die restliche Problembeschreibung eh besser klingt als die eingebauten Arrays.



  • Edit: Scheiße, falsch verstanden, sorry.



  • Alles klar. Dann waren nur die Klammern falsch.

    Danke für eure Hilfe.


Anmelden zum Antworten