Hallo, ich habe eine Klasse K. Für die Konstruktion eines Objekts dieser Klasse sind zwei Parameter erforderlich. Also z.b. K k(param1,param2); Was ist aber wenn ich ein Array anlegen möchte? mit K k[5]{(param11,param12),(param21,param22)}; geht es nicht. Wie denn dann? MfG Mark
Ich habs gefunden, es geht mit K k[2]={K(param11,param12),K(param21,param22)}; MfG Mark
Es geht um die Syntax in C++, mit der man ein Array aus Objekten bei der Definition auch gleich initialisieren kann. Und zwar nicht mit dem Defaultkonstruktor sondern mit einem speziellen Konstruktor, der ein paar Argumente nimmt. Und die Sache ist die: es gibt dafür keine Syntax. Was man aber machen kann, und das hat der Fragesteller herausgefunden, man kann die Initialisierung über ein paar Hilfsobjekte machen, die dann per Copy Konstruktor in das Array rüberkopiert werden.
Karl heinz Buchegger wrote: > Es geht um die Syntax in C++, mit der man ein Array aus > Objekten bei der Definition auch gleich initialisieren > kann. Ahhh, das macht Sinn! Nein, das geht natürlich nicht. (Da hab ich auch schonmal nen ganzen Tag dran rumgerätselt, wie das ganze Funktionieren soll). Geht das ganze nicht per Constructor initializer list (das mit dem : (Doppelpunkt) im Konstruktor der übergeordneten Klasse)?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.