Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
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