31.12.2014 Views

Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...

Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...

Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

int main ()<br />

{<br />

Person zigmas("zigmas", Date(1984, 4, 17), 178.5);<br />

}<br />

Atkreipkime d÷mesį, kaip funkcijoje main klas÷s Person konstruktoriui<br />

perduodamas laikinas klas÷s Date objektas, kuris egzistuoja tik konstruktoriaus<br />

kvietimo metu <strong>ir</strong> yra iš karto sunaikinamas. Žemiau pateiktame programos išvedime<br />

p<strong>ir</strong>masis Date konstruktorius <strong>ir</strong> p<strong>ir</strong>masis destrukotrius priklauso šiam laikinajam<br />

objektui:<br />

Date(1984 4 17)<br />

Date(Date&)(1984 4 17)<br />

Person() zigmas 178.5<br />

~Date(1984 4 17)<br />

~Person() zigmas 178.5<br />

~Date(1984 4 17)<br />

- sukuriamas laikinas objektas<br />

- sunaikinamas laikinas objektas<br />

C++ kalboje tokią objekto laukų inicializavimo užrašymo būdą galima naudoti ne tik<br />

laukams objektams, bet <strong>ir</strong> baziniems C++ tipams (int, char, double, …). Laukų<br />

konstruktoriai iškviečiami ta tvarka, kuria laukai yra aprašyti klas÷s apraše, o ne ta<br />

tvarka, kaip jie išvardinti konstruktoriuje inicializatorių sąraše.<br />

Konstruojant objektą, pradžioje sukonstruojami jo objektai-laukai <strong>ir</strong> tik po to<br />

kviečiamas objekto konstruktoriaus kūnas. Destruktorių kūnai kviečiami atv<strong>ir</strong>kščia<br />

tvarka.<br />

69

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!