Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Metodai, apibr÷žti klas÷s aprašo viduje<br />
Metodai, apibr÷žti klas÷s aprašo viduje (h-faile) yra inline-metodai, t.y.<br />
kompiliatorius jų iškvietimo vietoje stengsis tiesiogiai įterpti metodo kūną, o ne<br />
kviesti klas÷s realizacijos modulyje esantį kūną. Tuo būdu sutaupomas metodo<br />
kvietimo laikas:<br />
class String<br />
{<br />
...<br />
const char* getChars() const {return buffer;}<br />
};<br />
int main()<br />
{<br />
String text ("hello");<br />
const char* chars = text.getChars(); // chars = text.buffer<br />
...<br />
}<br />
Praktikoje klas÷s viduje apibr÷žiami tik kai kurie trumpučiai vienos eilut÷s metodai,<br />
tuo pačiu įnešant daugiau aiškumo į klas÷s aprašą. inline-metodai gali būti apibr÷žti<br />
<strong>ir</strong> klas÷s išor÷je, naudojant raktinį žodį inline:<br />
inline const char* String::getChars() const<br />
{<br />
return buffer;<br />
}<br />
Bet kokiu būdu aprašytas inline-metodas – tai tik rekomendacija kompiliatoriui, kad<br />
jis vietoje metodo kvietimo, įterptų metodo kūną. Kompiliatoriai gali to <strong>ir</strong> neatlikti.<br />
Kai kurie griežtesni kompiliatoriai spausdina įsp÷jimus apie inline-metodus, kurių<br />
kūnai niekados nebus įterpti į kodą, o visuomet bus formuojamas metodo kvietimas.<br />
73