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.

Konstantiniai laukai, laukai-nuorodos<br />

Konstantas <strong>ir</strong> nuorodas būtina inicializuoti jų apibr÷žimo vietoje. V÷liau mes<br />

nebegalime keisti konstantos reikšm÷s, o nuoroda taip <strong>ir</strong> liks susieta su tuo pačiu<br />

objektu:<br />

const int MAX_SIZE = 15;<br />

Stack& reference = anotherStack;<br />

Trumpai prisiminke rodykles <strong>ir</strong> konstantas:<br />

const char * pointerToConstString = "s1";<br />

char const * pointerToConstString = "s2";<br />

char * const constPointerToString = "s3";<br />

const char * const constPointerToConstString = "s4";<br />

const char const * constPointerToConstString = "s5";<br />

Jei klas÷ turi konstantinių laukų arba laukų nuorodų, jie privalo būti inicializuoti<br />

konstruktoriaus inicializatorių sąraše:<br />

class List<br />

{<br />

public:<br />

const int MAX_SIZE;<br />

Node& defaultNode;<br />

List (int maxSize, Node& defNode);<br />

};<br />

List::List (int maxSize, Node& defNode)<br />

: MAX_SIZE (maxSize),<br />

defaultNode (defNode)<br />

{<br />

}<br />

Statiniai konstantiniai laukai yra inicializuojami aprašymo vietoje (senesni<br />

kompiliatoriai reikalaudavo apibr÷žti <strong>ir</strong> inicializuoti tokią konstantą cpp-faile, kartu<br />

su kitais statiniais laukais):<br />

class List<br />

{<br />

public:<br />

static const int DEFAULT_MAX_SIZE = 18;<br />

};<br />

int main ()<br />

{<br />

cout

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

Saved successfully!

Ooh no, something went wrong!