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.
ats<strong>ir</strong>ado klas÷ string, konteinerių šablonai, lokalizacija <strong>ir</strong> t.t.. Kompiliatorių kūr÷jams<br />
pr<strong>ir</strong>eik÷ dar dviejų-keturių metų kol jų produktai prad÷jo daugiau ar mažiau<br />
realizuoti C++ standartą. Tod÷l nereikalaukite per daug iš C++ kompiliatorių,<br />
pagamintų prieš 2002-uosius metus.<br />
Šiuo metu C++ t÷vas Bjornas Straustrupas (Bjarne Stroustrup) toliau vysto ne tiek<br />
pačią C++ kalbą, kiek jos standartinę funkcijų/klasių biblioteką. Pastaroji atrodo iš<br />
ties labai varganai lyginant pvz. su Java programavimo kalbos biblioteka. Kodinis<br />
šiuo metu vykstančio projekto pavadinimas yra C++0x. Tikimasi, kad metų kitų<br />
b÷gyje (gal 2008-2009 metais) gims koks nors C++ patobulinimas <strong>ir</strong> greičiausiai jis<br />
vadinsis C++09.<br />
Susidariusią spragą labai šauniai užpildo C++ biblioteka Qt. Savo gyvavimą ji<br />
prad÷jo 1995 metais kaip komercin÷ grafin÷s vartotojo sąsajos (GUI - Graphical<br />
User Interface) biblioteka Windows <strong>ir</strong> Unix operacin÷ms sistemoms (autoriai<br />
Haavard Nord <strong>ir</strong> E<strong>ir</strong>ik Chambe-Eng). 1997-ais metais Qt 1.2 tapo pagrindu kuriant<br />
Linux darbastalį KDE bei visas pastarojo grafines programas. 2000-ais išleistas<br />
specialus Qt variantas mobiliems įrenginiams - Qtopia Core (tuomet vadintas<br />
Qt/Embedded). 2005-ųjų metų vasarą pas<strong>ir</strong>od÷ Qt bibliotekos 4-oji versija: apie 500<br />
C++ klasių <strong>ir</strong> daugiau nei 9000 funkcijų. Kartu pas<strong>ir</strong>od÷ <strong>ir</strong> atv<strong>ir</strong>o kodo (open source)<br />
variantas nekomerciniam naudojimui operacin÷ms sistemoms Windows, Unix/Linux<br />
bei Mac OS X. Biblioteka apima ne tik grafinę vartotojo sąsają, bet <strong>ir</strong> duomenų<br />
bazių valdymo sistemas, 2D <strong>ir</strong> 3D grafiką, darbą su kompiuterių tinklais bei aibę kitų<br />
funkcijų, kurių verkiant trūksta standartinei C++ bibliotekai. 2007 metų rugs÷jo 25<br />
dieną Qt 4.3.1 buvo įdiegta į Eclipse - nemokamą <strong>ir</strong> šiuo metu bene pažangiausią<br />
integruotą programų kūrimo aplinką (IDE - Integrated Development Env<strong>ir</strong>onment).<br />
Beje - yra Qt bibliotekos variantas Java programavimo kalbai: Qt Jambi.<br />
Svarbiausias dalykas, kurį reikia žinoti apie C++, yra tai, jog C++ yra objektiškai<br />
orientuota kalba: ji pateikia klas÷s sąvoką (C kalbos struktūrų išpl÷timas), kurios<br />
pagalba realizuojami trys Objektiškai Orientuoto Programavimo banginiai:<br />
• inkapsuliacija<br />
• paveld÷jimas<br />
• polimorfizmas<br />
Aplink mus krūvos objektų: mašinos, kiemsargiai, medžiai. Kiekvienas jų turi savo<br />
būseną <strong>ir</strong> elgsenos ypatumus. OOP nutiesia labai patogų tiltą tarp objektų gyvenime<br />
<strong>ir</strong> objektų programoje. Objektiškai orientuotas yra ne tik programavimas: mes<br />
analizuojame aplinką, projektuojame jai talkinančias kompiuterines sistemas <strong>ir</strong><br />
pagaliau programuojame tomis pačiomis sąvokomis – objektais, jų būsenomis,<br />
elgsena bei tarpusavio ryšiais. Sykį perpratus OOP, paprastai jis tampa natūraliu<br />
programų kūrimo stiliumi. Sunku būna įsivaizduoti, kad kažkada gyventa be jo. Tai<br />
bene stipriausias instrumentas kovoje su programų sud÷tingumu.<br />
6