Információk:

Gyakorlatvezető : Török Márk
Levelezési cím : tmark caesar elte hu
Honlap : http://tmark.web.elte.hu/cpp
Tárgy : Programozási nyelvek (C++) Gy. (A,B,T)
Tárgykód :

Terem :
  1. D 0-411
Időpont :
  1. K 14-16
Előadás honlapja :
Irodalom : Bjarne Stroustrup - A C++ Programozási nyelv I-II. (Szakmai lektor: Porkoláb Zoltán)
Beadandó : http://patakino.web.elte.hu/pny2/beadando.html
Zh :
4 db +/-, aki a felev vegen minuszba kerul, annak annyit vonunk le az elméleti zh-n szerzett pontszamabol amennyivel minuszba kerut.

+/- eredmények

Ha hibát találsz a kódban, diában, anyagban, jelezd!

Bevezetés :: Fordítás, futtatás, debug; C vs C++; Fejállományok; ...

Megismerkedtünk a C és a C++ közötti hasonloságokkal, különbségekkel. Megnéztük, hogy tudjuk lefordítani állományainkat, milyen lehetoségeink vannak a hibák minimalizálására, és ha mégis történne valami gubanc, akkor hogy tudjuk azokat felderíteni, orvosolni.
Összehasonlítottuk a különbözo fordítási technikákat: natív kód, bájtkód, jittelés,...
Gorcső alá vettük a preprocesszor muködését, hogy muködnek a macro-k, az elágazások, és hogy írunk fejállományokat.
Beszéltünk a streamekrol, és megnéztük, hogy ezek élete hogy alakult a C hoskorától a C++ virágkoráig.

[PPTX] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak01.pptx

Eros vs statikus típusosság, alapveto típusok; Függvények, paraméterátadás, visszatérés; ...

Megbeszéltük, hogy mi a különbség az eros és a gyenge típusosság között és mi a statikus és a dinamikus között, és betekintést tettünk a C/C++ által használt alaptípusokba.
Mutatók és dereferálás bevezetése, * és &, müködésük bemutatása.
Áttekintettük a tömbök definiálását, méretének megadását.
Bevezettük a függvények fogalmát, mit jelent a lokális változó, beszéltünk annak láthatóságáról és élettartamáról.
A függvényeket követték a paraméterek, érték és referencia szerinti átadás.
A paraméterek után beszéltünk a metódusok visszatérési értékérol: int, void,...
Szót ejtettünk a túlterhelésről, a változó hosszúságú paraméterekről és a paraméterek default értékéről.
Végül elemeztünk kódot, rámutattunk hibákra, és megadtuk azok javítását.

[PPTX] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak02.pptx

Feladatok megoldása

Elemeztünk kódot, rámutattunk hibákra, és megadtuk azok javítását.

[PPTX] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak03.pptx

Adatfolyamok, streamek; Ki- és bemenet; Fájl- és karakter-streamek; manipulátorok; ...

Bevezettük az adatfolyamokat, streameket. cin, cout, cerr, clog
Kimenetek kapcsán megnéztük a standard kimenet kezelését és a << operátort, illetve ennek az operátornak a muködését.
Bemeneti folyamatok esetén részleteztük a bemeneti operátor (>>) muködését, állapotait, és adtunk hozzá io manipulátorokat.
És ha már módosítók, igen, volt ez is! A klasszikus endl-tol a számkiírás manipulásán keresztül (dec, oct, hex) egészen a whitespace-ekig.
Fájl- és karakterlánc-adatfolyamokra néztünk példát is az elmélet mellett. Módosítok, adatfolyamlezárás.
Ami nem maradhatott el, azok a ki- és bemeneti tárak, beszéltünk is róla.
Végül, megkoronázva az órát, két kódelemzésen rágtuk magunkat végig.
Köszönöm a figyelmet

[PDF] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak04.pdf
[PPT] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak04.ppt
[PPTX] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak04.pptx

OOP, structok, vector, kódelemzés; ...

Bemelegítésképpen megtekintettük, hogy mit is jelent az objektum orientált vagy objektum elvu programozás.
Ezt követoen megnéztük, hogy mi is az a struct, meg hogy mitol döglik a légy.
Az STL-t nem kezdtük el ugyan, de a vector jó indulásnak tunt, hogy a következo órán legyen mirol beszélni.
Ezt követoen kódot elemeztunk.
Kedves egészségünkre!

[PDF] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak05.pdf
[PPT] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak05.ppt
[PPTX] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak05.pptx

Stack : mi történik függvényhívás esetén; Paraméterátadás; const; ...

Megnéztük, mi történik a memóriában függvényhívás esetén. Ennek elofeltétele volt, hogy megbeszéljük, mi a különbség érték és referencia szerinti paraméterátadás esetén. Pointert is átadtunk, és megbeszéltük, hogy az is érték szerint megy át!
Stack-pointer és base-pointer, stackframe! Rekurzív függvények esetén ez hogy megy, és hogy jelenik meg a referencia és érték szerinti paraméterátadás, ha látjuk a call-stackünket!
Belevágtunk a konstansokba, csak hogy legyen egy fix pont az életünkben! Vagy a kódunkban!

[PDF] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak06.pdf
[PPT] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak06.ppt
[PPTX] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak06.pptx

const: változó, pointer, függvény, ... esetén;

Folytattuk a konstansokkal, megnéztük, hogy a konstansság más nyelvek esetében hogy működik. Eljátszottunk a konstans értékkel és a konstans pointerrel. Mit ronthat el ha egy függény visszatérési értéke nem konstans? E kapcsán igény támadt arra, hogy átbeszéljük a függvényeket mégegyszer!
Megbeszéltük, hogy mit jelent a jobb és balérték; hogy mi az a szignatúra; és túlterhelés esetén mi történik, ha meghívom a túlterhelt függvényt.
Elsodlegesen a C++-t beszéltük meg, de szóba jött a Java, az Ada és a gyengén típusos scriptnyelvekbe is belenéztünk! Mennyire más, ugye?
Kis kódelemzés a végére!

[PDF] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak07.pdf
[PPT] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak07.ppt
[PPTX] : http://tmark.web.elte.hu/cpp/programozasi_nyelvek_cpp_gyak07.pptx