1. fejezet - Amivel mindenki kezdi...


Üdvözlök mindenkit a már sokszor újrakezdett, rendbeszedett, kiterjesztett, kukába dobott, archivált és reklámozott C++ ismeretető sorozatban. A régebbi verzióban volt itt egy idézet a wikipédiáról, volt abban mindenféle mágikus szó mint adatabsztrakció meg objektum orientált programozás, amiről senki nem tudja, hogy mit jelent, csak azért mondja mert okosnak akar tűnni. Ezeket most félre is rakom, majd valamikor elregélem, hogy mit jelentenek ezek (semmit, mindenki tojik rá).

Programnyelvek tanulását, mint sok mást az alapoktól érdemes kezdeni, mégis van egy szinte már konvenciónak mondható szokás, hogy az ismertetést a Hello Világ! programmal kezdjük. Mutatom is, hogyan néz ez ki C++ -ban:

CODE
#include <iostream> using namespace std; int main() { cout << "Hello World!\n"; system("pause"); return 0; }

Az egyszerűség kedvéért soronként mondom el mit jelent ez (mazochisták átugorhatják a betűket és csak a whitespaceket olvassák). A hashmark-al (#) kezdődő sorokat előfordító direktíváknak hívják. Ezek a fordítóprogramnak, azon belül az előfordítónak szólnak, a konkrét fordítás előtt dolgozódnak fel. A #include direktíva a megadott fájlt "bemásolja" az aktuális fájlba. Az iostream a C++ Standard Template Library (STL) része, a standard input és output kezelésére való. Azaz az ebben definiált függvények és osztályok segítségével lehet beolvasni és kiíratni.

Az STL minden osztálya, függvénye, előre deklarált objektuma az std névtérben található. Ahhoz, hogy használj egy névteret kétféle mód létezik: vagy előre megmondod using namespace-el, hogy használni akarod, vagy a másik megoldás, hogy minden a névtérben található entitás elé odabiggyeszted a névtér nevét. A példában ez annyit jelent, hogy cout helyett std::cout-ot kéne írni.

A C/C++ programok legalapvetőbb tulajdonsága, hogy a belépési pontjuk egységesen a main függvény, melynek visszatérési értéke int, vagyis egy (jobb esetben) 32 bites egész szám. Némely fordító megengedi a void visszatérő értéket is, de a háttérben olyankor is egy szám adódik vissza. Ennek a számnak a jelentősége mindössze annyi, hogy az operációs rendszert informálja a program befejeződéséről, azaz hogy sikeresen fejeződött-e be (0), vagy sikertelenül (1). Egyelőre fogadjuk el, hogy minden C++ program így kezdődik/végződik.

A fentebb emlegetett iostream könyvtár egyik előre deklarált objektuma a cout, ennek pedig az << operátorával lehet szöveget kiírni. Emberi nyelven úgy lehetne mondani ezt a sort, hogy "írd ki a standard outputra azt, hogy Hello World!".

A következő sor valójában fölösleges. A számítástechnika hőskorában még parancssorból indítottuk a programokat, és a program befejezése után visszakaptuk a promptot, de a program outputja látható maradt. A mai windowsos időkben a cmd.exe tölti be ezt a feladatot, ennek az elindítása automatikusan megtörténik. Mindenesetre amint megjelenik be is zárul, ezért felhasználtam a Windows pause parancsát, hogy a program várjon valami felhasználói reakcióra, mielőtt bezáródna. Unix alapú rendszerek alatt nincs pause, de ott úgyis terminálból futtatsz mindent...

Végül az utolsó előtti sorban visszaadom azt a fantasztikus nullát, jelezve hogy minden jól ment. A kódban fellelhető ; jelek szekvenciapontok, amit úgy kell felfogni, hogy addig tart egy kifejezés kiértékelése. C++ ban majdnem minden sor végére kell ilyen.

Első nekifutásra ennyi elég is, a következőkben mélyebben beleásom az olvasókat a C++ mágikus világába. Lapáttal.


Höfö:
  • Hello World! helyett írd ki, hogy Hello <saját név>!
  • Papirra nem ér!

back to homepage

Valid HTML 4.01 Transitional Valid CSS!