KLassenanfänger



  • Hallo zusammen,

    Frage: Wie bekomme ich es hin, dass ich innerhalb einer Klasse eine variable Anzahl an Variablen einsetzen kann, ohne vorher zu wissen wieviele Variablen ich von einem bestimmten Typ brauche? Das soll zur Laufzeit eingegeben werden. Oder ist es nicht möglich so eine Klasse zu schreiben und dann auch später variabel im Programm einzusetzen?

    Beispiel: ein Punkt (meine Klasse) hat mehrere Verbindungen zu anderen Punkten. Jedem dieser Punkte soll mitgeteilt werden, zu welchem anderen Punkt er verbunden ist (über Punktnummern). z.B. ist Punkt 2 mit den Punkten 33,44,88 verbunden und wird später noch mit Punkt 13, 28 und 4711 verbunden. Das soll dann in meiner Klasse gespeichert bzw. verarbeitet werden.

    Kann jemand die Frage beantworten? Oder wo kann ich das am besten nachlesen?
    Vielen vielen Dank

    kyp



  • Du kannst Anzahl und Typ der Membervariablen einer Klasse nicht dynamisch (=zur Laufzeit) verändern. Allerdings kannst du anstelle eines "int" einen std::vector<int> verwenden. std::vector<T> implementiert ein "Array mit variabler Länge" und gehört zur STL, der Standard Template Library, die Teil der Standard C++ Library ist.

    Guck dir ein C++ Tutorial an, da siehst du normalerweise wie man mit sowas umgeht.



  • Du hast aber auch die Möglichkeit einen Zeiger auf ein weiteres Object, das einer Basisklasse entspricht und dort je nach ableitung der Basisklasse X elemente beinhaltet zeigen kann.

    So ist es möglich eine Abstrakte Basisklasse A mit einem Element zu haben von Ihr kannst du mehrere Polimorphieen bilden und eine B mit 2 Elementen eine C mit 3 Elementen erstellen. Zur laufzeit kommt dann die dynamische Bindung zum einsatz und lässt dich entscheiden ob der Basiszeiger auf B, C, D... Zeigt

    hoffe ich habe mich verständlich ausgedrückt



  • @fisch1983:

    Und wie baut er damit sein Netz aus Punkten, wo man Edges zur Laufzeit hinzufügen (und wegnehmen) kann?


Log in to reply