A C++ nyelv alapjai 1. rész Írta: TFeri.hu
Tamás Ferenc: C++ (az emelt szintű érettségin) Előszó 2. rész: Kiírások, alapvető típusok és műveleteik 3. rész: Ciklusok 4.rész: Mutatók és tömbök 5. rész: Függvények és külső eljárások 6. rész: Tömbök gyakorlati használata és egyéb példák 7. rész: Adatstruktúrák és file-műveletek 8. rész: Osztályok és könyvtárak
Jelen cikksorozatom elsődleges célja az emelt szintű érettségi vizsgára készülők számára egy elfogadható szintű C++ tudást nyújtani. Nem célom és jelen keretekbe nem is fér bele, hogy a semmi programozói tudásból építsek fel egy programozási nyelvet. Véleményem szerint ráadásul a C++ nem egy tipikus kezdő nyelv!
Amit ígérhetek: egy tisztességes tudás, amivel a már egy nyelven programozási alapokkal rendelkező jelölt meg tud felelni az emelt szintű informatika érettségi vizsga követelményeinek. Aki nem szeretne érettségizni, csak tisztán a nyelv érdekli, az is megtalálja a magának valót, mivel ez a cikk-sorozat terveim szerint egy tisztességes áttekintést ad a nyelv lehetőségeiről. Fontos, hogy terveim szerint csak a konzolos (értsd: DOS alatti) működést fogom megírni. Be kell vallanom, hogy jelen pillanatban ezen a nyelven nincs elegendő tudásom és tapasztalatom ahhoz, hogy a Windows alatti működést is tisztességesen elmagyarázzam, bár a cikk-sorozat végén (terveim szerint) fog szerepelni pár működőképes Windows alatti igen egyszerű ablak. (Ezt a részt még magam sem tanítottam végig és sajnos még számomra is vannak kissé homályos részek ...) A sorozatot végigtanítottam a saját emelt szintű informatika csoportomban a székesfehérvári J áky ban.
Nem ígérhetek teljes tudást és mindenre kiterjedő megértést, de bátran ígérek egy komoly áttekintést, aminek alapján már el lehet indulni a C++ megismerésének rögös útján!
1 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
Maga a C nyelv egy igen sok minden lehetőséget magába foglaló, igen rugalmas nyelv. Ennek szerves folytatása a C++ nyelv is. Népszerűsége és ingyenessége miatt elég sok fordító született hozzá. Ez a sorozat a CodeBlocks 10.05-ös verziójában íródott Windows alatt. A képernyőképek saját gépemről valók. Valamennyi itt szereplő programot kipróbáltam és biztosan működik, tehát a tisztelt olvasót nem várják „meglepetések”. Nem kívánhatok mást, mint jó munkát és tengernyi sok türelmet!
Munkám során a következő oldalakat használtam:
- http://cplusplus.com/doc/tutorial/
- http://nyelvek.inf.elte.hu/leirasok/Mobil_J2ME/index.php?chapter=1
1. fejezet: Letöltés és telepítés Nyissuk meg egy böngészőben a www.codeblocks.org oldalt. Ott kattintsunk rá a „Downloads” menüre.
2 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
A feljövő ablakban a „Download the binary release” feliratra kell kattintani.
Itt már csak a megfelelő platformot kell kiválasztani. Jelen esetben ez a Windows. Fontos, hogy két különféle telepítő csomag van, amiből a nagyobbat kell választani, mert az igen sok, kellemes lehetőséget is magában foglal.
3 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
teljes csomag 74URL: Mbyte, tehát elég gyorsan A pontos jelenlegi s/codeblocks-10.05mingw-setup.exe csupán! letöltése után jöhet a telepítés, ami lejön. a szokásoknak megfelelően pár kattintásból áll program elindítása utánhttp://sourceforge.net/projects/codeblocks/files/Binaries/10.05/Window üdvözöl a telepítő.
4 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
A Next gomb lenyomása után jöhet a licensz-szerződés elolvasása.
5 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
Ezt el kell fogadni (I Agree), majd jön a komponensek beállítása, bár ezt nem célszerű változtatni!
6 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
A következő ismert „Program lépésben Files” meg bukkan kellfel. adni, hogy hová legyen felrakva a program. Alapesetben a jól
7 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
A tényleges installálás alig egy perc egy átlagos gépen...
8 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
Több kötözködés csakindítani. a tényleges telepítés. A programot márisnincs, el akarja Én személy szerint ezt nem szeretem...
9 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
… mivel nem szeretne! szeretem látni, hogy akar-e valamit még a telepítő? Nos, ezúttal szerencsére semmit
10 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
A „Next” gomb a kilépésig juttat el.
11 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
Ekkor már tudjuk futtatni a szokásos módon a CodeBlocks programot!
2. fejezet: Legelső futtatás
Több programmal ellentétben a CodeBlocks nem tesz ki ikont az asztalra, így a Start menüben kell megkeresnünk a helyét. Ez Win7-es rendszerekben nem túl bonyolult, de a régebbi verziók esetén is csak 1-2 kattintással lesz több. Szóval, a bal oldali ikont kell megtalálni!
Legelső futtatásnál nem a máskor megszokott képernyő fogad, hanem a CodeBlocks igyekszik érzékelni a környezetét. Ez általában problémamentesen sikerül is, mint a következő ábrán is látható.
12 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
Ez után a teljes képernyő nyílik meg, ami első pillanatra elég bonyolultnak látszik, de nem kell tőle megijedni!
13 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
Először kellemetlenkedő A tényleges is bemunka kell„Scripting zárni előtta felbukkan napi console”-t tippeta(de fájl-asszociációs is le érdemes lehet csukni. meghagyni!), ablak is: majd a bal oldalon
Ezt melynek Leggyakrabban -megjegyzést következőket: A bal Az egyetlen ablak oldalon főbb tetején legalján nagy „OK”-kattintással írrészei helyet kirészét a alátható jelenleg helyet fordító. afoglaló következők: kitevő menürendszer foglaló is aktív „Management” fül, el tudjuk „Log mely „Projects” & jelenleg hallgattatni. others”, és ikonok. ablak, fület a ahová „Start fogjuk benne Így here” már minden használni három végre nevet apróbb, egymás megkaptuk kapta. demelletti Ebben annál a főablakot, látjuk fontosabb füllel. a
14 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
A tényleges Itt a következő munkát fontoslegelőször ablak fogad: a „Create a new project” feliratra kattintással tudjuk elkezdeni.
15 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
A pirossal A készíteni. bekarikázott következő ablakon ikonra kell tovább kattintani kell lépni – ezzel a „Next” tudunk gombbal. egyszerű szöveges alkalmazásokat
16 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
Ki kell választani a C++ nyelvet – ez az alapértelmezett, majd megint a „Next” gomb.
17 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
Itt meg kell lényeg, szokásos hogy „Next” adni ne alegyen gombbal. leendő benne projekt ékezet, nevét.üres Nemhely, feltétlenül stb. Ezjó, most ha nem legyen angol „proba”! nevetTovábblépés választunk. Aa
18 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
Itt már csak a legnagyobb meglepetésre fordítót kell kiválasztani. kiürül. Viszont Azaalapértelmezett bal oldalon megjelenik kiváló lesz! egyEz párután új bejegyzés: viszont a főablak
19 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
Ahogy a piros main.cpp megjelenik a az balalapértelmezett nyíl oldalon. is mutatja, Itt a man.cpp a„Helló, WorkspaceprobaSources-ra előtti world”kis program! ikonra kattintva kell lehet kattintani. továbblépni, Ekkor így megjelenik végre a
3. fejezet: Hello, world!
Ez a bonyolultnak tűnő eljárás pár indítás után automatikus lesz, így a most még soknak tűnő lépés szinte észrevehetetlen lesz! A programkód a következő:
---------------------------------
#include
20 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
using namespace std;
int main() { cout << "Hello world!" << endl; return 0; }
---------------------------------
Némi magyarázat:
#include : Ezzel még nem kell törődni! using namespace std; : Így használhatjuk az alapvető függvényeket. Szinte minden programnál érdemes használni. int main(): A main() függvényt minden kódnak egyszer tartalmaznia kell. int rész : a függvény (main) típusát jelenti: egész main : a függvény neve () : a függvénynek nincs paramétere { : a program törzsének a kezdetét jelenti, tehát ez után fog jönni a program kódja. } : a program törzsének a befejeztét jelenti, tehát itt lesz vége a programunknak vagy ez után új program blokkot (részt) kell kezdenünk. cout << "Hello world!" << endl; : Kiírás a képernyőre, majd egy új sor. (Teljes formájában: cons ole output .) Részletek később... return 0; : A program futásának vége. ( Megjegyzés: a forráskódban lehetnek beszúrt üres sorok, de ez nem zavaró! )
Amint láthatjuk, minden függvénynek a végén kell lennie egy pontosvesszőnek hisz a függvényt ezzel "zárjuk le". Természetesen nem minden programnak a megírása ilyen egyszerű, van több ezer soros program is, de mi ennyire azért nem fogunk belebonyolódni a dolgokba. -;)
21 / 22
A C++ nyelv alapjai 1. rész Írta: TFeri.hu
Most a programot le kell fordítani és futtatni! Ez eleinte célszerű két külön lépésben megtenni. Meg kell keresni a „Build” főmenüt, majd abban a legfelső „Build” almenüt. Gyorskódja: CTRL+F9.Ez pillanatok alatt meg fog történni. Az eredmény a képernyő alján lesz látható:
Fontos! Ha az eredmény utolsó sorában a „0 errors, 0 warnings” olvasható, akkor megnyugodhatunk, hiszen minden jól ment. Sajnos egyes esetekben előfordul, hogy a teljes CodeBlocks ablak legalján a hibafordító üzenget alul, hogy nem találja a hibafordítót. (Ezt a Build log néven találjuk.) Ilyenkor be kell lépni a következő menübe: „SettingsCompiler and debuggerToolchain executables” Itt rá kell kattintani az "Auto-detect" gombra. Ezzel megtalálja a keresett helyet. Nekem pl.: D:Program FilesCodeBlocksMinGW
A program futtatható lesz a „BuildRun” menüvel, de lehet a gyorskóddal is indítani: CTRL+F10. A fordítás és a futtatás persze lehet egy lépésben is, ennek a gyorskódja: F9. Még egy apróság, ami eleinte meglepő lehet: a kész program (proba.exe) mérete: 467 968 byte, tehát meglehetősen nagy. Ez csak annak köszönhető, hogy a program a teljes függvénytárat is hozzáfordítja ehhez a párt sorocskához, ami fent is látható...
Folytatás itt!
22 / 22