Forum: Compiler & IDEs Wie ein Array aus Objekten anlegen?


von Mark .. (mork)


Lesenswert?

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

von Mark .. (mork)


Lesenswert?

Ich habs gefunden, es geht mit K 
k[2]={K(param11,param12),K(param21,param22)};

MfG Mark

von Simon K. (simon) Benutzerseite


Lesenswert?

Worum geht es überhaupt?

von Karl H. (kbuchegg)


Lesenswert?

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.

von Simon K. (simon) Benutzerseite


Lesenswert?

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)?

von Mark .. (mork)


Lesenswert?

Hallo simon!

Was meinst Du mit "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
Noch kein Account? Hier anmelden.