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
Worum geht es überhaupt?
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)?
Hallo simon! Was meinst Du mit "der übergeordneten Klasse"?