Kezdőoldal » Számítástechnika » Programozás » Ha a konstruktor nem hozza...

Ha a konstruktor nem hozza létre az objektumot a dinamikus memóriába akkor hogyan lehet az, hogy mégis el tudom érni az osztály setAge függvényét?

Figyelt kérdés

Itt meghívódik 4 szer az alapértelmezett konstruktor



int main()

{

CAT *Family[4]; Itt meghívódik 4 szer az alapértelmezett konstruktor

for(ushort i = 0;i < 4;i++)

{

CAT *pCat = new CAT; //Itt is meg kéne hogy hívódjon.

pCat->SetAge(i+1); De nem hívódott meg és mégis el tudom érni a SetAget.

Family[i] = pCat;

}


for(ushort i = 0;i < 4;i++)

cout <<"Family["<< i <<"]: "<< Family[i]->GetAge() << endl;


for(ushort i = 0;i < 4;i++)

delete Family[i];



return EXIT_SUCCESS;

}


De ha a pCat ot nem a ciklusban hozom létre hanem azon kívül akkor meg meghívódik az alapértelmezett konstrukotor.Miért.


De viszont ha a tömböt is dinamikusan deklarálom akkor a ciklusban pedig meghívódik a pCat ra az alapértelmezett konstruktor.


2012. máj. 4. 18:21
 1/1 A kérdező kommentje:
Már értem.
2012. máj. 4. 18:28

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!