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.

Keletos modulių programos<br />

Mūsų menkučiai pavyzd÷liai aps<strong>ir</strong>ibojo vienu moduliu (cpp-failu). Kiek rimtesn÷<br />

programa neišvengs keletos modulių – taip patogiau kodą prižiūr÷ti <strong>ir</strong> kompiliuoti.<br />

Pasitren<strong>ir</strong>uokime rašydami programą apie protingą vaikiną CleverBoy. Ši programa<br />

susideda iš trijų failų: CleverBoy.h su CleverBoy.cpp <strong>ir</strong> main.cpp.<br />

Faile CleverBoy.h turime klas÷s CleverBoy aprašą, t.y. modulio interfeisą. Aprašo<br />

užtenka, kad žinotume, ką duotoji klas÷ gali daryti, nesigilinant į tai, kaip ji tai daro:<br />

// CleverBoy.h<br />

#ifndef __CleverBoy_h<br />

#define __CleverBoy_h<br />

#include <br />

class CleverBoy<br />

{<br />

std::string cleverWords;<br />

public:<br />

CleverBoy(std::string cleverWords);<br />

std::string getCleverWords();<br />

};<br />

#endif // __CleverBoy_h<br />

Faile CleverBoy.cpp turime klas÷s CleverBoy realizaciją. Tokia h- <strong>ir</strong> cpp-failų pora<br />

yra natūralus būdas nusakyti modulį: interfeisą <strong>ir</strong> realizaciją. Atkreipkime d÷mesį į<br />

tai, jog po raktinių žodžių using namespace std galime naudoti klas÷s string trumpajį<br />

vardą. Šie raktiniai žodžiai sk<strong>ir</strong>ti naudoti tik cpp-failuose. Tuo tarpu h-faile mums<br />

teko nurodyti pilną vardą std::string.<br />

// CleverBoy.cpp<br />

#include "CleverBoy.h"<br />

using namespace std;<br />

CleverBoy::CleverBoy(string cw)<br />

{<br />

cleverWords = cw;<br />

}<br />

string CleverBoy::getCleverWords()<br />

{<br />

return cleverWords;<br />

}<br />

12

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

Saved successfully!

Ooh no, something went wrong!