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 :
Időpont :
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 :
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
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
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
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
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
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
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