webForumDet fria alternativet

skapa array av en klass!

2 svar · 587 visningar · startad av seek_fantomen

seek_fantomenMedlem sedan nov. 20062 inlägg
#1

MyClass []c = new MyClass[3];

Denna satsen skapar inte tre instanser av klass MyClass men istället skapar den tre null referenser till MyClass klassen. Min fråga är, hur skapar jag en MyClass array som både är deklarerad och initierard (anrop till default konstruktor) med objekt av typen MyClass.

Jag vet att man kan skapa null referenser som jag gjorde tidigare och sedan tilldela en och en instanser av objekt MyClass till array c.

Varför jag undrar är för att i c++ så kan man ju initiera en array så här:

MyClass c[] = MyClass[3];

då anropas klassens konstruktor tre gånger och initierar dess medlem varibale och sedan till denna adressen till t.ex c array.

Snälla försök att besvara min fråga, den fet märkta texten.

spangoMedlem sedan juni 20006 147 inlägg
#2

Foo bar[] = {new Foo(), new Foo(), new Foo()};
Finns ingen genväg. I Java kan man bara deklarera pekare till objekt, så det går inte att initiera ett objekt genom enbart en deklaration, som man t.ex. kan med intar och andra primitiver.

seek_fantomenMedlem sedan nov. 20062 inlägg
#3

Bra förklaring Spango och tack.

120 ms totalt · 3 externa anrop · cache AV · v20260731065814-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
117 ms — hämta tråd, inlägg och bilagor (db)