C++ programozási nyelv Struktúrák a C++ nyelvben
|
|
- Flóra Illésné
- 8 évvel ezelőtt
- Látták:
Átírás
1 C++ programozási nyelv Struktúrák a C++ nyelvben Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor szeptember A C++ programozási nyelv Soós Sándor 1/37
2 Bevezetés A struktúra, record fogalma Különbségek a C és a C++ között szintaktika tagfüggvények automatikusan lefutó függvények konstruktorok destruktorok hozzáférési hatáskörök szabályozása öröklés A C++ programozási nyelv Soós Sándor 2/37
3 Szintaktikai különbségek A struktúra nevének használata I. Adott a következő struktúra: struct Valami int x; Hogyan definiálunk egy ilyen típusú változót C-ben? 1. A struct Valami típusazonosítóval: void main() struct Valami v; 2.Typedef-fel elnevezzük a típust: typedef struct Valami Akarmi; void main() Akarmi v; A C++ programozási nyelv Soós Sándor 3/37
4 Szintaktikai különbségek (folyt.) A struktúra nevének használata I. (folyt.) Hogyan definiálunk egy ilyen típusú változót C-ben? 3. Az 1. és 2. megoldás összevonva: typedef struct Valami int x; Akarmi; void main() Akarmi v; A C++ programozási nyelv Soós Sándor 4/37
5 Szintaktikai különbségek (folyt.) A struktúra nevének használata I. (folyt.) Hogyan definiálunk egy ilyen típusú változót C++ -ban? Nincs szükség typedef-re, az új név struct nélkül is használható. struct Valami int x; ; void main() Valami v; // ez C-ben hibás lenne A C++ programozási nyelv Soós Sándor 5/37
6 Szintaktikai különbségek (folyt.) A struktúra nevének használata II.: Önhivatkozó struktúrák C-ben az önhivatkozó struktúrában mindenképpen ki kell tennünk a struct kulcsszót a mutató deklarációjánál. struct Valami int x; struct Valami *Kovetkezo; Ez akkor is így van, ha typedef-et alkalmazunk: typedef struct Valami int x; struct Valami *Kovetkezo; Akarmi; C++ -ban nincsen szükség a struct kulcsszó kiírására: struct Valami int x; Valami *Kovetkezo; // C++ -ban ez helyes ; A C++ programozási nyelv Soós Sándor 6/37
7 Struktúrák és osztályok Az objektum orientált nyelvek új lehetőségei C++ struktúrák (struct) osztályok (class) Csak apró eltérések vannak a kettő között A C-vel való kompatibilitás megtartása érdekében maradt meg a struct. A C++ programozási nyelv Soós Sándor 7/37
8 Új fogalom: tagfüggvény (metódus, method) Miről van szó? Adott a korábbi Valami struktúra: struct Valami int x; Írjunk egy függvényt, ami megduplázza az x mező értékét! Hogyan oldanánk meg ezt a feladatot C-ben, illetve C++ -ban? A C++ programozási nyelv Soós Sándor 8/37
9 Tagfüggvény (folyt.) A feladat megoldása C-ben: void ValamiDuplaz(struct Valami* VP) VP->x *= 2; void main() struct Valami v1,v2; v1.x = 3; ValamiDuplaz(&v1); // v1 x-ét duplázzuk printf("v1.x: %d\n",v1.x); // Kimenet: v1.x: 6 v2.x = 4; ValamiDuplaz(&v2); // v2 x-ét duplázzuk printf("v2.x: %d\n",v2.x); // Kimenet: v2.x: 8 A C++ programozási nyelv Soós Sándor 9/37
10 Tagfüggvény (folyt.) C++ -ban van egy másik megoldás is, definiáljunk egy tagfüggvényt: A deklaráció: struct Valami int x; void Duplaz(); // tagfüggvény ; A függvény definíciója: void Valami::Duplaz() x *= 2; A C++ programozási nyelv Soós Sándor 10/37
11 Tagfüggvény (folyt.) Hogyan használjuk a tagfüggvényt? void main() Valami v1,v2; v1.x = 3; v1.duplaz(); // tagfüggvény hívása printf("v1.x: %d\n",v1.x); // Kimenet: v1.x: 6 v2.x = 4; v2.duplaz(); // tagfüggvény hívása printf("v2.x: %d\n",v2.x); // Kimenet: v2.x: 8 Hasonlítsuk össze a két megoldást: Hagyományos függvény: ValamiDuplaz(&v1); Tagfüggvény: v1.duplaz(); A C++ programozási nyelv Soós Sándor 11/37
12 Tagfüggvény (folyt.) Hasonlítsuk össze a két megoldást: Hagyományos függvény: ValamiDuplaz(&v1); Tagfüggvény: v1.duplaz(); Tagfüggvény hívása megegyezik a mezőhivatkozással pointer esetén is: Valami v1; Valami *vp; vp = &v1; vp->x = 3; vp->duplaz(); A C++ programozási nyelv Soós Sándor 12/37
13 Tagfüggvény (folyt.) Mikor használjunk tagfüggvényt és mikor hagyományos "szabad" függvényt? Erről szól az objektum-orientált programtervezés Erről fog szólni ez a tantárgy Végső megoldás: Java - Csak tagfüggvény létezik! A C++ programozási nyelv Soós Sándor 13/37
14 Konstruktorok Hogyan inicializálunk egy struktúrát C-ben? void ValamiKonstruktor(struct Valami* VP) VP->x = 0; Az inicializáló fv. meghívása: void main() struct Valami v1; ValamiKonstruktor(&v1); // inicializálás A C++ programozási nyelv Soós Sándor 14/37
15 Konstruktorok (folyt.) Mi a helyzet dinamikusan allokált struktúra esetén? struct Valami *vp; vp = malloc(sizeof(struct Valami)); ValamiKonstruktor(vp); Miért nem biztonságos ez a megoldás Mi történik, ha elfelejtkezünk az inicializálásról? Hogyan lehetne elkerülni ezt a veszélyt? A megoldás C++ -ban: "szabad" függvény helyett legyen tagfüggvény az inicializáló fv. A szükséges időben hívja meg a rendszer automatikusan. Ez a konstruktor A C++ programozási nyelv Soós Sándor 15/37
16 A konstruktor fogalma C++ -ban Hogyan ismeri meg a rendszer a konstruktort? neve megegyezik a struktúra nevével nincs visszatérő értéke (nem void!!!) Példánkban: struct Valami int x; Valami(); // konstruktor deklarációja ; Valami::Valami() // konstruktor definíciója x = 0; printf("konstruktor\n"); // demonstráció A C++ programozási nyelv Soós Sándor 16/37
17 Hogyan működik most a programunk? Ha deklarálunk egy Valami típusú változót, akkor automatikusan lefut a konstruktor: void main() Valami v; // itt lefut a konstruktor! A fordítóprogram helyettünk dolgozik. Amikor létrejön egy új struktúra, akkor megnézi, hogy létezik-e konstruktora. Ha igen, akkor annak meghívását automatikusan beleteszi a kódba. A C++ programozási nyelv Soós Sándor 17/37
18 A new operátor Mi a helyzet a dinamikusan allokált struktúrák esetén? malloc függvény helyett new operátor A new operátor: lefoglalja a memóriát lefuttatja a konstruktort visszaadott érték Például: NULL, ha nem sikerült a memóriafoglalás egyébként egy pointer, ami az új struktúrára mutat void main() Valami *vp; vp = new Valami; A C++ programozási nyelv Soós Sándor 18/37
19 Destruktorok A konstruktor párja A struktúra megszűnésekor elvégzendő tevékenységek file-ok lezárása memória felszabadítás hálózati kapcsolatok lezárása C-ben: írhatunk egy függvényt a struktúra felszámolása előtt meghívjuk ezt a függvényt ugyanazok a veszélyek fennállnak, mint az inicializáló függvény esetében C++ destruktor A C++ programozási nyelv Soós Sándor 19/37
20 A destruktor fogalma C++ -ban Hogyan ismeri meg a rendszer a destruktort? neve: ~ jel + a struktúra neve (~: jobb oldali Alt + 1) nincs visszatérő értéke (nem void!!!) A C++ programozási nyelv Soós Sándor 20/37
21 A destruktor fogalma C++ -ban (folyt.) Példa: struct Valami int x; Valami(); ~Valami(); ; // konstruktor deklarációja // destruktor deklarációja Valami::Valami() // konstruktor definíciója x = 0; printf("konstruktor\n"); // demonstráció Valami::~Valami() // destruktor definíciója printf("destruktor\n"); // demonstráció A C++ programozási nyelv Soós Sándor 21/37
22 A destruktor fogalma C++ -ban (folyt.) A főprogram: void main() Valami v; A program kimenete a következő lesz: Konstruktor Destruktor A C++ programozási nyelv Soós Sándor 22/37
23 A delete operátor A new operátor párja C-ben a free függvénnyel szabadítjuk fel a dinamikusan foglalt tárterületet C++ -ban a delete operátorral szabadítjuk fel a new operátorral létrehozott objektumokat delete operátor meghívja a destruktort felszabadítja az objektum által foglalt tárterületet A C++ programozási nyelv Soós Sándor 23/37
24 new és delete operátor példaprogram void main() Valami *vp; printf("new előtt\n"); vp = new Valami; // meghívja a konstruktort... delete vp; // meghívja a destruktort printf("delete után\n"); Az eredmény: new előtt Konstruktor Destruktor delete után A C++ programozási nyelv Soós Sándor 24/37
25 Hozzáférési hatáskörök szabályozása Adatelrejtés: minden adattagról és tagfüggvényről eldönthetjük, hogy ki férhet hozzá. private csak az osztály tagfüggvényei férhetnek hozzá class esetében ez az alapértelmezés public minden külső függvény hozzáférhet az adott taghoz struct esetében ez az alapértelmezés protected később, az öröklődéskor fogunk róla beszélni mint a private, de a leszármazottak tagfüggvényei hozzáférhetnek A C++ programozási nyelv Soós Sándor 25/37
26 A private hozzáférés Vegyük a korábbi példánkat: struct Valami private: int x; void f1(); ; void main() Valami v; v.x = 7; // ez hiba! De: void Valami::f1() x = 7; // ez rendben van, mert f1 tagfüggvény! A C++ programozási nyelv Soós Sándor 26/37
27 A private hozzáférés (folyt.) Nem csak adattag lehet private, hanem tagfüggvény is: struct Valami public: void PublikusFv(); // public függvény private: void PrivatFv(); // private függvény ; void Valami::PrivatFv() printf("privatfv"); void Valami::PublikusFv() PrivatFv(); // Ez szabályos Ekkor: void main() Valami v; v.publikusfv(); // ez rendben van! v.privatfv(); // ez hiba, private fv. itt nem látszik A C++ programozási nyelv Soós Sándor 27/37
28 A private hozzáférés (folyt.) Hogyan férhetünk hozzá a private adattagokhoz? Az osztály tagfüggvényeiből közvetlenül A külvilág számára írhatunk olyan public tagfüggvényeket, amelyek szabályozott módon engednek hozzáférést a private adattagokhoz. Példa a következő dián A C++ programozási nyelv Soós Sándor 28/37
29 A private hozzáférés (folyt.) struct Valami int GetX(); // az x-et kiolvasó függvény void SetX(int ax); // az x-et beállító függvény private: int x; ; int Valami::GetX() return x; void Valami::SetX(int ax) x = ax; // ez engedélyezett void main() Valami v; int a; v.setx( 10 ); a = v.getx(); A C++ programozási nyelv Soós Sándor 29/37
30 Mire jó ez az egész? Miért korlátozza magát a programozó a private tagokkal? 1. példa: Készítsünk egy listát egész számok tárolására! Ehhez definiáljuk a következő struktúrát: struct Lista int Tomb[100]; int N_Elemek; Miért veszélyes ez? A struktúrát használó programozónak tisztában kell lennie a használat módjával: nem tehet 100-nál több elemet a listába megfelelően léptetni kell az N_Elemek mezőt, stb. Ha úgy döntünk, hogy megváltoztatjuk a használt adatszerkezetet, akkor a teljes programot módosítani kell. A megoldás: Rejtsük el a külvilág elől az adatstruktúra belsejét (private). A C++ programozási nyelv Soós Sándor 30/37
31 Mire jó ez az egész? Miért korlátozza magát a programozó a private tagokkal? 2. példa: Nem a teljes adatszerkezetet változtatjuk, csak az adattípust. Egy üzlet adatait kezeljük egy programmal. Tegyük fel, hogy először forintban tartjuk nyilván az árakat. Nem kezelünk filléreket, ezért az áru árát egész típusú változóban tároljuk. Később áttérünk eurora, ezért szükség van a centek tárolására is. Ehhez módosítanunk kell a belső adattípust, de például a havi és éves forgalmi adatokat visszaadó függvényeket nem kell módosítani, azok maradhatnak egész típusúak. A C++ programozási nyelv Soós Sándor 31/37
32 Mire jó ez az egész? Miért korlátozza magát a programozó a private tagokkal? 3. példa: Bizonyos esetekben csak együtt változhat meg két vagy több adatmező, vagy csak több mező felhasználásával lehet visszaadni egy értéket. Az előző üzleti példában egy áru eladását be kell jegyezni az eladások listájába, ugyanakkor csökkenteni kell az árukészletet is. Ha ezeket külön-külön kell elvégeznie a programozónak, akkor fennáll a veszélye, hogy nem lesz szinkronban a két adatbázis. Ennek elkerülésére írhatunk egy Eladás tagfüggvényt, ami elvégzi mindkét műveletet. A C++ programozási nyelv Soós Sándor 32/37
33 Mire jó ez az egész? Miért korlátozza magát a programozó a private tagokkal? 4. példa: Vannak esetek, amikor csak bizonyos szabályok betartásával szabad beállítani egy mező értékét. Vannak olyan azonosító kódok, amelyek nem lehetnek tetszőlegesek. Ilyenek például a TAJ szám, vagy a hajdan volt személyi szám. Ezek egy ellenőrző algoritmust tartalmaznak, amivel egy adott számról eldönthető, hogy helyes-e. Ha ezt a mezőt private-tá tesszük és csak egy tagfüggvénnyel engedünk hozzáférést, akkor biztosíthatjuk, hogy mindig csak hibátlan adatok kerülhessenek az adatbázisba. A C++ programozási nyelv Soós Sándor 33/37
34 Az információrejtés elve adatbezárás, encapsulation A tényleges, fizikai tárolást végző adatszerkezetet elrejtjük a struktúra belsejébe (private adattagok) Publikus tagfüggvényként azokat a műveleteket deklaráljuk, amelyek megvalósítják a struktúra szolgáltatásait. Például új elem hozzáadása, törlés stb. Ily módon a struktúra egy szolgáltatóvá válik, amitől szolgáltatásokat lehet kérni, de hogy azt hogyan hajtja végre, azt nem kell tudnia a felhasználónak. Természetesen mindez alapos tervezést, kísérletezést igényel! Az objektum-orientált tervezést is meg kell tanulni! Ha azonban egyszer megtanultuk ezt a gondolkodás módot, akkor el sem tudjuk képzelni, hogy eddig hogyan gondolkoztunk és programoztunk másképp. A C++ programozási nyelv Soós Sándor 34/37
35 Öröklődés, örököltetés Ezzel a témakörrel külön előadásokon fogunk foglalkozni. Egyelőre annyit jegyezzünk meg róla, hogy ez az objektumorientált nyelvek talán legfontosabb újítása a "hagyományos" nyelvekhez képest. Röviden arról van szó, hogy egy struktúra, illetve osztály definiálásakor felhasználhatjuk egy már meglévő osztály tulajdonságait. Az új, ún. leszármazott osztály örökli az ősosztály tulajdonságait (adatmezőit és tagfüggvényeit). Ráadásul ezt anélkül tudjuk megtenni, hogy hozzáférnénk az eredeti osztály forráskódjához. A leszármazott osztály az örökölt tulajdonságokat módosíthatja és újakat is hozzájuk tehet. A C++ programozási nyelv Soós Sándor 35/37
36 Hogyan tovább? Mire van szükség az objektum-orientált programozás elsajátításához? a nyelvi eszközök megtanulására az eszközök célszerű használatának megtanulására A nyelvvel kapcsolatban megtanulandó témakörök: A C++, illetve az objektum-orientált írásmód megszokása A program működésének megértése összetett struktúrák esetében milyen sorrendben futnak le a konstruktorok, destruktorok mikor generál a fordítóprogram önállóan egy függvényt (konstruktort, másoló operátort) mi történik egy kivétel kiváltásakor, stb. A hozzáférési jogosultságok alapos megértése, különösen az örökléssel kapcsolatban A C++ esetében különösen fontos feladat a dinamikus memóriakezelés megértése! A C++ programozási nyelv Soós Sándor 36/37
37 Mi a megoldás! Folytonosan legyünk tisztában azzal, hogy kétféle területen kell előrehaladnunk: a nyelv megismerésében, illetve a programtervezés módszereinek elsajátításában. Egy adott feladatra szinte mindig érdemes többféle megoldást kipróbálni, pl. először szabad függvénnyel, aztán tagfüggvénnyel valósítjuk meg az adott funkciót; egyszer örököltetést, egyszer kompozíciót (struktúrák egymásba ágyazását) használunk, stb. Legjobban összehasonlításokon keresztül ismerhetők meg az eszközök! A hozzáférési jogosultságokat érdemes először lazán (public) hagyni, majd amikor egy-egy programrész már kialakult, lépésenként elrejteni a tagokat. Ha már a kezdet kezdetén sok private tagot definiálunk, nagyon nehézzé, áttekinthetetlenné válnak az első kísérletező lépések. Induljunk ki egy olyan (pl. kevésbé objektum-orientált) megoldásból, amelyet eddigi tapasztalataink alapján meg tudunk írni és próbáljuk meg lépésenként átalakítani! Ne keseredjünk el (nagyon), ha nehéznek érezzük ezt a témát. Tényleg az. A C++ programozási nyelv Soós Sándor 37/37
C++ programozási nyelv Konstruktorok-destruktorok
C++ programozási nyelv Konstruktorok-destruktorok Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
RészletesebbenPelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;
Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely
RészletesebbenC++ programozási nyelv
C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok
RészletesebbenVisual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.
Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat
RészletesebbenC++ programozási nyelv
C++ programozási nyelv Gyakorlat - 9. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. november A C++ programozási nyelv Soós Sándor 1/15 Tartalomjegyzék Hozzáférési
RészletesebbenJava programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
RészletesebbenC++ programozási nyelv Konstruktorok Gyakorlat
C++ programozási nyelv Konstruktorok Gyakorlat Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A C++ programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
RészletesebbenProgramozás C++ -ban
Programozás C++ -ban 4. Bevezetés az osztályokba 4.1 Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több
RészletesebbenProgramozás II. 3. gyakorlat Objektum Orientáltság C++-ban
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
RészletesebbenStatikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék
Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma
RészletesebbenJava programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
RészletesebbenA C programozási nyelv V. Struktúra Dinamikus memóriakezelés
A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.
RészletesebbenObjektumorientált szoftverfejlesztés alapjai
Objektumorientált szoftverfejlesztés alapjai Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben @Katona József Kővári Attila Lektorálta: Dr. Fauszt Tibor DOI:
RészletesebbenOOP alapok Egy OOP nyelvet három fontos dolog jellemez. egységbezárás ( encapsulation objektumoknak öröklés ( inheritance
Az objektum-orientált programozás (röviden OOP) a természetes gondolkodást, cselekvést közelítő programozási mód, amely a programozási nyelvek tervezésének természetes fejlődése következtében alakult ki.
RészletesebbenProgramozás I. - 11. gyakorlat
Programozás I. - 11. gyakorlat Struktúrák, gyakorlás Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 16, 2009 1 tar@dcs.vein.hu Tar
RészletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
RészletesebbenOsztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
RészletesebbenOsztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
RészletesebbenProgramozás II. 4. Dr. Iványi Péter
Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include
RészletesebbenObjektumok inicializálása
Objektumok inicializálása Miskolci Egyetem Általános Informatikai Tanszék Objektumok inicializálása CPP4 / 1 Tartalom public adattagok inicializálása felsorolással konstruktor objektum tömbök osztály típusú
RészletesebbenProgramozás C++ -ban
8. Dinamikus objektumok Programozás C++ -ban Ahhoz hogy általános prolémákat is meg tudjunk oldani, szükség van arra, hogy dinamikusan hozhassunk létre vagy szüntethessünk meg objektumokat. A C programozási
Részletesebben5. Gyakorlat. struct diak {
Rövid elméleti összefoglaló 5. Gyakorlat Felhasználó által definiált adattípusok: A typedef egy speciális tárolási osztály, mellyel érvényes típusokhoz szinonim nevet rendelhetünk. typedef létező_típus
RészletesebbenC++ programozási nyelv
C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. november A C++ programozási nyelv Soós Sándor 1/12 Tartalomjegyzék Miért
Részletesebben3. Osztályok II. Programozás II
3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt
RészletesebbenProgramozási alapismeretek 4.
Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)
RészletesebbenBevezetés, a C++ osztályok. Pere László
Programozás módszertan II. p. Programozás módszertan II. Bevezetés, a C++ osztályok Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK
RészletesebbenProgramozás II. 2. gyakorlat Áttérés C-ről C++-ra
Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,
RészletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
RészletesebbenOOP. Alapelvek Elek Tibor
OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 33
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenSzámítógép és programozás 2
Számítógép és programozás 2 10. Előadás Öröklődés http://digitus.itk.ppke.hu/~flugi/ Tagfüggvény struct Particle { int x,y; unsigned char r,g,b; void rajzol() { gout
RészletesebbenOsztály és objektum fogalma
Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály
Részletesebbenés az instanceof operátor
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
Részletesebben1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"
RészletesebbenJava VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenProgramozás II. 6.Öröklés Dr. Iványi Péter
Programozás II. 6.Öröklés Dr. Iványi Péter 1 Öröklés Programozók lusta emberek, nem szeretnék valamit kétszer leírni Miért veszélyes? Nem hatékony Újra kell tárolni a kódot, újra le kell fordítani Karbantartás
RészletesebbenJava VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
RészletesebbenC# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag
C# osztálydeníció Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem.net C# technológiák tananyag objektum orientált programozás tananyag Tartalom 1 Bevezetés 2 Osztály létrehozása, deníció
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 5. előadás Tömbök átméretezése public static void Resize( ref T[] array, int newsize ) Példa: int[] a=new int[20]; Array.Resize(ref a, 22); 2016. 10. 19.
RészletesebbenJava III. I I. Osztálydefiníció (Bevezetés)
Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban
RészletesebbenObjektumelvű alkalmazások fejlesztése 6. gyakorlat. Öröklődés, polimorfizmus. Öröklődés Kódismétlődés objektum-orientált szerkezetben
Eötvös Loránd Tudományegyetem Informatikai Kar Objektumelvű alkalmazások fejlesztése 6. gyakorlat, polimorfizmus 2011.10.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Kódismétlődés
RészletesebbenJava III. I I. Osztálydefiníció (Bevezetés)
Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban
RészletesebbenJAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
RészletesebbenProgramozás II gyakorlat. 6. Polimorfizmus
Programozás II gyakorlat 6. Polimorfizmus Típuskonverziók C-ben: void * ptr; int * ptr_i = (int*)ptr; Ez működik C++-ban is. Használjuk inkább ezt: int * ptr_i = static_cast(ptr); Csak egymással
RészletesebbenBevezetés a C++ programozási nyelvbe
Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék CPP0 / 1 Története A C++ programozási nyelv a C programozási nyelv objektum orientált kiterjesztése. Az ANSI-C nyelvet
Részletesebben10. gyakorlat Struktúrák, uniók, típusdefiníciók
10. gyakorlat Struktúrák, uniók, típusdefiníciók Házi - (f0218) Olvass be 5 darab maximum 99 karakter hosszú szót úgy, hogy mindegyiknek pontosan annyi helyet foglalsz, amennyi kell! A sztringeket írasd
Részletesebben8. gyakorlat Pointerek, dinamikus memóriakezelés
8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
RészletesebbenMutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában
Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
RészletesebbenOsztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
RészletesebbenObjektumelvű programozás
Objektum, osztály Objektumelvű programozás Az elemzés együttműködő objektumok rendszereként fogalmazza meg a feladatot. Objektum-központú elemzés A tervezés a feladat tárgyköreit egy-egy objektum felelősségévé
RészletesebbenOOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
RészletesebbenElemi Alkalmazások Fejlesztése II.
Elemi Alkalmazások Fejlesztése II. Osztályok közötti kapcsolatok öröklődés asszociáció aggregáció kompozíció 1. Feladat Készítsünk programot, amellyel testek térfogatát határozhatjuk meg, illetve megadhatjuk
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 7. előadás AZ OOP alapelvei Egységbezárás(Encapsulation) Az adatokat es a hozzájuk tartozó eljárásokat egyetlen egységben (osztályban) kezeljük. Az osztály adatmezői
RészletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. szeptember 18. 2. El adás Komplex szám public class Complex { private float repart_; private float impart_; public Complex() { repart_ = 0; impart_ = 0; public Complex(float
RészletesebbenBevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum
Bevezetés a programozásba 2 1. Előadás: Tagfüggvények, osztály, objektum Ismétlés int main() { string s; s; s= bla ; cout
RészletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)
RészletesebbenBevezetés a programozásba előadás: Öröklődés
Bevezetés a programozásba 2 5. előadás: Öröklődés emlékeztető Tagfüggvény struct koord { double x,y,r; void set(double ux, double uy) { x=ux; y=uy; r=sqrt(x*x+y*y); } Használat: koord k; k.set(4,5); Egységbezárás
RészletesebbenMiután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:
Excel objektumok Az excelben az osztályokat úgynevezett class modulokként hozzuk létre. Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: View-ba
RészletesebbenProgramozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)
Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok
RészletesebbenProgramozás módszertan p.1/46
Programozás módszertan Öröklődés Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK MAGYAR TUDOMÁNYOS AKADÉMIA SZÁMÍTÁSTECHNIKAI ÉS
RészletesebbenJava programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
RészletesebbenBevezetés a Python programozási nyelvbe
Bevezetés a Python programozási nyelvbe 7. Gyakorlat osztályok, objektumok (utolsó módosítás 2018. aug. 28.) Szathmáry László Debreceni Egyetem Informatikai Kar 2018-2019, 1. félév OO programozás Pythonban
RészletesebbenProgramozás. Osztályok, Származtatott osztályok. Fodor Attila
Programozás Osztályok, Származtatott osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. március 11. Beadandó feladat
RészletesebbenSzéchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu
Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:
Részletesebben1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
RészletesebbenISA szimulátor objektum-orientált modell (C++)
Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált
RészletesebbenProgramozás C++ -ban 2007/7
Programozás C++ -ban 2007/7 1. Másoló konstruktor Az egyik legnehezebben érthető fogalom C++ -ban a másoló konstruktor, vagy angolul "copy-constructor". Ez a konstruktor fontos szerepet játszik az argumentum
RészletesebbenOOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.
OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_01-1 - E jegyzet másolata
RészletesebbenAdatstruktúrák, algoritmusok, objektumok
Adatstruktúrák, algoritmusok, objektumok 3. Az objektumorientált paradigma alapelemei Objektum Osztály Példányosítás A konstruktor és a destruktor Osztályok közötti kapcsolatok Miklós Árpád, BMF NIK, 2006
RészletesebbenAdatszerkezetek 2. Dr. Iványi Péter
Adatszerkezetek 2. Dr. Iványi Péter 1 Hash tábla A bináris fáknál O(log n) a legjobb eset a keresésre. Ha valamilyen közvetlen címzést használunk, akkor akár O(1) is elérhető. A hash tábla a tömb általánosításaként
RészletesebbenProgramozási nyelvek II. JAVA
Programozási nyelvek II. JAVA 8. gyakorlat 2017. november 6-10. Általános tudnivalók A feladatmegoldás során fontos betartani az elnevezésekre és típusokra vonatkozó megszorításokat, illetve a szövegek
RészletesebbenBME MOGI Gépészeti informatika 8.
BME MOGI Gépészeti informatika 8. 1. feladat Készítse beosztottak és vezetők munkahelyi adatait kezelő alkalmazást! A feladat megoldásához hozza létre a következő osztályokat! Beosztott osztály: adatmező
RészletesebbenMár megismert fogalmak áttekintése
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak
RészletesebbenJava V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás:
Java V. szint lyszintű ű tagok A final minősítő Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 05. Java V.: szintű tagok JAVA5 / 1 Példányváltozó Az eddig megismert adattagokból
Részletesebben500. AA Megoldó Alfréd AA 500.
Programozás alapjai 2. NZH 2010.05.13. gyakorlat: / Hiány:0 ZH:0 MEGOLD IB.027/51. Hftest: 0 Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti, hogy minden
RészletesebbenC programozási nyelv Pointerek, tömbök, pointer aritmetika
C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek
RészletesebbenProgramozás II gyakorlat. 8. Operátor túlterhelés
Programozás II gyakorlat 8. Operátor túlterhelés Kezdő feladat Írjunk egy Vector osztályt, amely n db double értéket tárol. A konstruktor kapja meg az elemek számát. Írj egy set(int idx, double v) függvényt,
RészletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
RészletesebbenProgramozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg.
KIINDULÁS Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg. Programozás III Az egyszerűség kedvéért mindegyiket a nevük alapján regisztráljuk,
RészletesebbenOsztálytervezés és C++ implementációs ajánlások I.
Osztálytervezés és C++ implementációs ajánlások I. Miskolci Egyetem Általános Informatikai Tanszék Osztálytervezés és implementációs kérdések I. OTERV1 / 1 Osztály tervezés Egy nyelv szabályrendszere számos
RészletesebbenVirtuális függvények (late binding)
Virtuális függvények (late binding) Miskolci Egyetem Általános Informatikai Tanszék Virtuális függvények CPP5 / 1 Azonos nevű függvények megkülönböztetése paraméterszignatúra (függvény overloading) - egy
RészletesebbenObjektum orientált kiterjesztés A+ programozási nyelvhez
Szegedi Tudományegyetem Informatikai Tanszékcsoport Objektum orientált kiterjesztés A+ programozási nyelvhez Diplomamunka terve Készítette: Bátori Csaba programtervező matematikus hallgató Témavezető:
RészletesebbenProgramozas 1. Strukturak, mutatok
Programozas 1 Strukturak, mutatok Strukturak Tömb: több egyforma típusú változó együttese Struktúra: több különböző típusú de logikailag egybetartozó változó együttese, amelyet az egyszerű kezelhetőség
RészletesebbenProgramozás C++ -ban 2007/4
Programozás C++ -ban 2007/4 1. Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több szempontból is hasznos
RészletesebbenA szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok
A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)
RészletesebbenA C++ szigorúbban kezeli a típuseltéréseket, mint a C nyelv Lehetséges típuskonverziók:
Típuskonverzió a C++ nyelvben Miskolci Egyetem Általános Informatikai Tanszék Típus konverzió a C++ nyelvben CPP3 / 1 Lehetséges konverziók A C++ szigorúbban kezeli a típuseltéréseket, mint a C nyelv Lehetséges
RészletesebbenDr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:
RészletesebbenC++ programozási nyelv
C++ programozási nyelv Gyakorlat - 7. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. november A C++ programozási nyelv Soós Sándor 1/17 Tartalomjegyzék Házi
RészletesebbenProgramozás alapjai. 10. előadás
10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:
RészletesebbenGlobális operátor overloading
Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal
RészletesebbenSzoftvergyártás: gyártásvezérlés kód-figyeléssel
Szoftvergyártás: gyártásvezérlés kód-figyeléssel Előadó: Banai Miklós és Rakyta Péter Pályázatok: TECH_08-A2/2-2008-0089-SZOMIN08; KMOP-1.1.1-08/1-2008-0019; KMOP-1.1.2-08/1-2008-0002 Vízió: Szoftvergyártás
RészletesebbenObjektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015
Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 9. ELİADÁS Kivételkezelés (Exception handling) 2 Mi a kivétel (exception)? A kivétel, olyan hibás állapot vagy esemény, amely
RészletesebbenHelyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?
A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály
Részletesebben11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.
11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap;
RészletesebbenAz alábbi példában a Foo f(5); konstruktor hívása után mennyi lesz f.b értéke? struct Foo { int a, b; Foo(int c):a(c*2),b(c*3) {} };
A C++ kódokban lévő makrókat melyik egység dolgozza fel az alábbiak közül? preprocessor A szabványos C++-ban nem is írhatunk makrókat (csak C-ben) assembler linker Az alábbi példában a Foo f(5); konstruktor
RészletesebbenBevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok
Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int
Részletesebben