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.

Kopijavimo konstruktorius<br />

C++ vienas iš konstruktorių turi specialę pask<strong>ir</strong>tį: konstruktorius, kurio vienintelis<br />

paramentras yra nuoroda į tos pačios klas÷s objektą. Jis vadinamas kopijavimo<br />

konstruktoriumi. Aps<strong>ir</strong>ašykime standartine datos klasę su konstruktoriumi pagal<br />

nutyl÷jimą <strong>ir</strong> su kopijavimo konstruktoriumi:<br />

// copyconstr.cpp<br />

class Date<br />

{<br />

private:<br />

int year;<br />

int month;<br />

int day;<br />

public:<br />

Date (int year = 2003, int month = 2, int day = 28);<br />

Date (const Date& date);<br />

~Date ();<br />

};<br />

int getYear () const {return year;}<br />

int getMonth () const {return month;}<br />

int getDay () const {return day;}<br />

void print (const string& prefix) const;<br />

Kartu su interfeisu tame pačiame cpp-faile <strong>ir</strong> klas÷s realizacija:<br />

Date::Date (int year, int month, int day)<br />

{<br />

this->year = year;<br />

this->month = month;<br />

this->day = day;<br />

print("Date");<br />

}<br />

//------------------------------------------------------------<br />

Date::Date (const Date& date)<br />

{<br />

year = date.getYear();<br />

month = date.getMonth();<br />

day = date.getDay();<br />

print("Date(Date&)");<br />

}<br />

//------------------------------------------------------------<br />

Date::~Date ()<br />

{<br />

print("~Date");<br />

}<br />

//------------------------------------------------------------<br />

void Date::print (const string& prefix) const<br />

{<br />

cout

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

Saved successfully!

Ooh no, something went wrong!