Programozás II gyakorlat. 4. Öröklődés

Save this PDF as:
 WORD  PNG  TXT  JPG

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Programozás II gyakorlat. 4. Öröklődés"

Átírás

1 Programozás II gyakorlat 4. Öröklődés

2 Feladat Egy játékfejlesztő cég olyan programot fejleszt, amely nyilvántartja az alkalmazottai adatait. Tároljuk minden személy: Nevét (legfeljebb 50 karakter) Születési dátumát Fizetését Írj osztályt, amely a fenti adatokat tárolja. Használd az egységbezárás elvét, és az osztálydeklaráció külön header fájlban, a definíció külön forrásfájlban legyen! 2

3 Megoldás: dolgozo.h #define MAX 51 class CDolgozo { protected: int fizetes; int ev, honap, nap; char nev[ MAX ]; public: CDolgozo(const char * nev); CDolgozo(const CDolgozo & orig); int GetFizetes() const; ; Ezt a kulcsszót később tisztázzuk! void GetSzuletes(int & ev, int & honap, int & nap) const; const char * GetNev() const; void SetFizetes(int f); void SetSzuletes(int ev, int honap, int nap); void SetNev(const char * nev); 3

4 Megoldás: dolgozo.cpp #include "dolgozo.h" #include <cstring> CDolgozo::CDolgozo(const char * nev) { SetNev(nev); fizetes = 0; ev = honap = nap = 0; CDolgozo::CDolgozo(const CDolgozo & orig) { SetNev(orig.nev); fizetes = orig.fizetes; ev = orig.fizetes; honap = orig.fizetes; nap = orig.fizetes; 4

5 Megoldás: dolgozo.cpp int CDolgozo::GetFizetes() const { return fizetes; void CDolgozo::GetSzuletes(int & ev, int & honap, int & nap) const { ev = this->ev; honap = this->honap; nap = this->nap; const char * CDolgozo::GetNev() const { return nev; void CDolgozo::SetFizetes(int f) { fizetes = f; 5

6 Megoldás: dolgozo.cpp void CDolgozo::SetSzuletes(int ev, int honap, int nap) { this->ev = ev; this->honap = honap; this->nap = nap; void CDolgozo::SetNev(const char * nev) { strcpy(this->nev, nev); 6

7 Megoldás: main.cpp #include <iostream> #include "dolgozo.h" using namespace std; #define UJ_DOLGOZO( neve ) CDolgozo neve ( #neve ) int main() { UJ_DOLGOZO( Carmack ); CDolgozo Romero("Romero"); cout<< Carmack.GetNev() <<endl; cout<< Romero.GetNev() <<endl; 7

8 Feladat A cégnél több fajta dolgozó van: programozó designer játék tesztelő 8

9 Feladat Írjunk olyan osztályt, amely egy programozó tulajdonságait tárolja: Szakmai ismeretek Munkakör A programozónak is van neve, fizetése és születési dátuma. Természetesen header + forrásfile-ban! 9

10 Megoldás 1. class CProgramozo { int fizetes; int ev, honap, nap; char nev[ MAX ], tudas[ MAX ], munka[ MAX ]; public: CProgramozo(const char * nev); CProgramozo(const CProgramozo & orig); int GetFizetes() const; void GetSzuletes(int & ev, int & honap, int & nap) const; const char * GetNev() const; void SetFizetes(int f); void SetSzuletes(int ev, int honap, int nap); void SetNev(const char * nev); const char * GetTudas() const; void SetTudas(const char * tudas); const char * GetMunkakor() const; void SetMunkakor(const char * munkakor); ; 10

11 Megoldás 1. class CProgramozo { int fizetes; int ev, honap, nap; char nev[ MAX ], tudas[ MAX ], munka[ MAX ]; public: CProgramozo(const char * nev); CProgramozo(const CProgramozo & orig); int GetFizetes() const; void GetSzuletes(int & ev, int & honap, int & nap) const; const char * GetNev() const; void SetFizetes(int f); void SetSzuletes(int ev, int honap, int nap); void SetNev(const char * nev); const char * GetTudas() const; void SetTudas(const char * tudas); const char * GetMunkakor() const; void SetMunkakor(const char * munkakor); ; 10

12 Megoldás 2. #include "dolgozo.h" class CProgramozo { CDolgozo d; char tudas[ MAX ], munka[ MAX ]; public: CProgramozo(const char * nev); CProgramozo(const CProgramozo & orig); int GetFizetes() const; void GetSzuletes(int & ev, int & honap, int & nap) const; const char * GetNev() const; void SetFizetes(int f) { d.setfizetes(f) ; void SetSzuletes(int ev, int honap, int nap); void SetNev(const char * nev); const char * GetTudas() const; void SetTudas(const char * tudas); const char * GetMunkakor() const; ; void SetMunkakor(const char * munkakor); 11

13 Megoldás 2. #include "dolgozo.h" class CProgramozo { CDolgozo d; char tudas[ MAX ], munka[ MAX ]; public: CProgramozo(const char * nev); CProgramozo(const CProgramozo & orig); int GetFizetes() const; void GetSzuletes(int & ev, int & honap, int & nap) const; const char * GetNev() const; void SetFizetes(int f) { d.setfizetes(f) ; void SetSzuletes(int ev, int honap, int nap); void SetNev(const char * nev); const char * GetTudas() const; void SetTudas(const char * tudas); const char * GetMunkakor() const; ; void SetMunkakor(const char * munkakor); 11

14 Megoldás 3. programozo.h #include "dolgozo.h" class CProgramozo: public CDolgozo { char tudas[ MAX ], munka[ MAX ]; public: CProgramozo(const char * nev); CProgramozo(const CProgramozo & orig); ; const char * GetTudas() const; void SetTudas(const char * tudas); const char * GetMunkakor() const; void SetMunkakor(const char * munkakor); 12

15 Megoldás 3. programozo.h #include "dolgozo.h" class CProgramozo: public CDolgozo { char tudas[ MAX ], munka[ MAX ]; public: CProgramozo(const char * nev); CProgramozo(const CProgramozo & orig); ; const char * GetTudas() const; void SetTudas(const char * tudas); const char * GetMunkakor() const; void SetMunkakor(const char * munkakor); 12

16 Megoldás: programozo.cpp #include <cstring> #include "programozo.h" CProgramozo::CProgramozo(const char * nev) { // nev????? tudas[0] = munka[0] = '\0'; CProgramozo::CProgramozo(const CProgramozo & orig) { SetTudas(orig.tudas); SetMunkakor(orig.munka); 13

17 Megoldás: programozo.cpp const char * CProgramozo::GetTudas() const { return tudas; void CProgramozo::SetTudas(const char * tudas) { strcpy(this->tudas, tudas); const char * CProgramozo::GetMunkakor() const { return munka; void CProgramozo::SetMunkakor(const char * munkakor) { strcpy(this->munka, munka); 14

18 Objektum létrehozása #include <iostream> #include "dolgozo.h" #include "programozo.h" using namespace std; #define UJ_DOLGOZO( neve ) CDolgozo neve ( #neve ) #define UJ_PROGRAMOZO( neve ) CProgramozo neve ( #neve ) int main() { UJ_PROGRAMOZO( Carmack ); CDolgozo Romero("Romero"); cout<< Carmack.GetNev() <<endl; cout<< Romero.GetNev() <<endl; 15

19 Objektum létrehozása #include <iostream> #include "dolgozo.h" #include "programozo.h" using namespace std; Mi lesz a probléma? #define UJ_DOLGOZO( neve ) CDolgozo neve ( #neve ) #define UJ_PROGRAMOZO( neve ) CProgramozo neve ( #neve ) int main() { UJ_PROGRAMOZO( Carmack ); CDolgozo Romero("Romero"); cout<< Carmack.GetNev() <<endl; cout<< Romero.GetNev() <<endl; 15

20 Probléma: ősosztály konstruktora Az ősosztály konstruktora hívódik meg, majd a származtatott osztályé 16

21 Probléma: ősosztály konstruktora Az ősosztály konstruktora hívódik meg, majd a származtatott osztályé Az ősosztály konstruktora paramétert vár 16

22 Probléma: ősosztály konstruktora Az ősosztály konstruktora hívódik meg, majd a származtatott osztályé Az ősosztály konstruktora paramétert vár Valahogy át kell adni az ősosztály konstruktorának a paramétert 16

23 Megoldás CProgramozo::CProgramozo(const char * nev) : CDolgozo(nev) { tudas[0] = munka[0] = '\0'; CProgramozo::CProgramozo(const CProgramozo & orig): CDolgozo(orig) { SetTudas(orig.tudas); SetMunkakor(orig.munka); 17

24 Ősosztály származtatott osztály Carmack típusa: CProgramozo Romero típusa: CDolgozo void fizetes_kiir(cdolgozo & dolgozo) { cout<<"fizetese: "<<dolgozo.getfizetes()<<endl; fizetes_kiir(carmack); // fizetes_kiir(romero); // 18

25 Ősosztály származtatott osztály Carmack típusa: CProgramozo Romero típusa: CDolgozo void fizetes_kiir(cdolgozo & dolgozo) { cout<<"fizetese: "<<dolgozo.getfizetes()<<endl; fizetes_kiir(carmack); // fizetes_kiir(romero); // 18

26 Ősosztály származtatott osztály Carmack típusa: CProgramozo Romero típusa: CDolgozo void fizetes_kiir(cdolgozo & dolgozo) { cout<<"fizetese: "<<dolgozo.getfizetes()<<endl; fizetes_kiir(carmack); fizetes_kiir(romero); // // Minden programozó dolgozó is 18

27 Ősosztály származtatott osztály Carmack típusa: CProgramozo Romero típusa: CDolgozo void fizetes_kiir(cprogramozo & prg) { cout<<"fizetese: "<<prg.getfizetes()<<endl; fizetes_kiir(carmack); // fizetes_kiir(romero); // 19

28 Ősosztály származtatott osztály Carmack típusa: CProgramozo Romero típusa: CDolgozo void fizetes_kiir(cprogramozo & prg) { cout<<"fizetese: "<<prg.getfizetes()<<endl; fizetes_kiir(carmack); // fizetes_kiir(romero); // 19

29 Ősosztály származtatott osztály Carmack típusa: CProgramozo Romero típusa: CDolgozo void fizetes_kiir(cprogramozo & prg) { cout<<"fizetese: "<<prg.getfizetes()<<endl; fizetes_kiir(carmack); fizetes_kiir(romero); // // de nem minden dolgozó programozó! 19

30 Függvény felülírás Írjunk egy SetFizetes függvényt a Cprogramozo osztályba, amely a paraméterben kapott fizetéshez hozzáad et, és a kapott értéket tárolja el. Ehhez használjuk fel az ősosztály SetFizetes függvényét! 20

31 Függvény felülírás Mi történik? void CProgramozo::SetFizetes(int i) { SetFizetes(i ); 21

32 Függvény felülírás Mi történik? void CProgramozo::SetFizetes(int i) { SetFizetes(i ); A függvény önmagát hívja meg. Ám mi az ősosztály SetFizetes függvényét szeretnénk meghívni: void CProgramozo::SetFizetes(int i) { CDolgozo::SetFizetes(i ); 21

33 protected hozzáférés Emlékeztető: class CDolgozo { protected: int fizetes; int ev, honap, nap; protected: Kívülről nem látható, de a származtatott és saját osztályban igen. 22

34 Emlékeztető private: Kívülről és a származtatott osztályból nem látható. public: Kívülről és a származtatott osztályból is látható. 23

35 private öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: private A { void f() { a = 0; // b = 0; // c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 24

36 private öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: private A { void f() { b = 0; // c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 24

37 private öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: private A { void f() { c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 24

38 private öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: private A { void f() { c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 24

39 private öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: private A { void f() { c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 24

40 private öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: private A { void f() { c = 0; // ; class C: public B { void g() { b = 0; // c = 0; // ; 24

41 private öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: private A { void f() { c = 0; // ; class C: public B { void g() { c = 0; // ; 24

42 private öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: private A { void f() { c = 0; // ; class C: public B { void g() { c = 0; // ; 24

43 private öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: private A { void f() { c = 0; // ; class C: public B { void g() { c = 0; // ; 24

44 private öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: private A { void f() { c = 0; // ; class C: public B { void g() { c = 0; // ; 24

45 protected öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: protected A { void f() { a = 0; // b = 0; // c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 25

46 protected öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: protected A { void f() { b = 0; // c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 25

47 protected öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: protected A { void f() { c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 25

48 protected öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: protected A { void f() { c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 25

49 protected öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: protected A { void f() { c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 25

50 protected öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: protected A { void f() { c = 0; // ; class C: public B { void g() { b = 0; // c = 0; // ; 25

51 protected öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: protected A { void f() { c = 0; // ; class C: public B { void g() { c = 0; // ; 25

52 protected öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: protected A { void f() { c = 0; // ; class C: public B { void g() { c = 0; // ; 25

53 protected öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: protected A { void f() { c = 0; // ; class C: public B { void g() { c = 0; // ; 25

54 protected öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: protected A { void f() { c = 0; // ; class C: public B { void g() { c = 0; // ; 25

55 public öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: public A { void f() { a = 0; // b = 0; // c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 26

56 public öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: public A { void f() { b = 0; // c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 26

57 public öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: public A { void f() { c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 26

58 public öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: public A { void f() { c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 26

59 public öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: public A { void f() { c = 0; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // ; 26

60 public öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: public A { void f() { c = 0; // ; class C: public B { void g() { b = 0; // c = 0; // ; 26

61 public öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: public A { void f() { c = 0; // ; class C: public B { void g() { c = 0; // ; 26

62 public öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: public A { void f() { c = 0; // ; class C: public B { void g() { c = 0; // ; 26

63 public öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: public A { void f() { c = 0; // ; class C: public B { void g() { c = 0; // ; 26

64 public öröklődés class A { A * pa; private: int a; B b; protected: int b; pa = &b; // public: int c; ; class B: public A { void f() { c = 0; // ; class C: public B { void g() { c = 0; // ; 26

4. Öröklődés. Programozás II

4. Öröklődés. Programozás II 4. Öröklődés Programozás II Mielőtt belevágunk Egy Tárgy típusú objektumokat tároló tömb i. elemében tároljunk el egy új tárgyat Rossz módszer: tomb[i].setnev( uj.getnev() ); tomb[i].setertek( uj.getertek()

Részletesebben

Programozás C++ -ban 2007/4

Programozá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észletesebben

117. AA Megoldó Alfréd AA 117.

117. AA Megoldó Alfréd AA 117. Programozás alapjai 2. (inf.) pót-pótzárthelyi 2011.05.26. gyak. hiányzás: kzhpont: MEG123 IB.028/117. NZH:0 PZH:n Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,

Részletesebben

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte.

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE motiabt@inf.elte. Programozási alapismeretek :: beadandó feladat Készítő adatai Név: Molnár Tamás EHA: MOTIABT.ELTE E-mail cím: motiabt@inf.elte.hu Gyakorlatvezető: Horváth László Feladat sorszáma: 23. Felhasználói dokumentáció

Részletesebben

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Öröklés ism. Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Szeberényi Imre BME IIT Egy osztályból olyan újabb osztályokat származtatunk, amelyek rendelkeznek

Részletesebben

Programozás II. 6.Öröklés Dr. Iványi Péter

Programozá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észletesebben

Körkörös listák. fej. utolsó. utolsó. fej

Körkörös listák. fej. utolsó. utolsó. fej Körkörös listák fej utolsó fej utolsó Példa. Kiszámolós játék. Körben áll n gyermek. k-asával kiszámoljuk őket. Minden k-adik kilép a körből. Az nyer, aki utolsónak marad. #include using namespace

Részletesebben

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelő GUI alkalmazás készítése 3. Összetett tábla karbantartása

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelő GUI alkalmazás készítése 3. Összetett tábla karbantartása Elemi alkalmazások fejlesztése IV. Adatbázis-kezelő GUI alkalmazás készítése 3. Összetett tábla karbantartása Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/eaf4/ Qt 4 2007

Részletesebben

Származtatási mechanizmus a C++ nyelvben

Származtatási mechanizmus a C++ nyelvben Származtatási mechanizmus a C++ nyelvben Miskolci Egyetem Általános Informatikai Tanszék CPP2 / 1 Az öröklődés s fogalma 1. Egy osztály deklarálható valamely más osztály(ok) leszármazottjaként. Az deklaráció

Részletesebben

Bevezetés a C++ programozási nyelvbe

Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C++ programozási nyelvbe Oktatási segédlet Összeállította: Ficsor Lajos 2001. 1. A C++ programozási nyelv története A C++ programozási nyelv

Részletesebben

Programozás II. 4. Dr. Iványi Péter

Programozá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észletesebben

Programozás II gyakorlat. 8. Operátor túlterhelés

Programozá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észletesebben

Osztály és objektum fogalma

Osztá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

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. 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észletesebben

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 PHP II. WEB technológiák Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 Tartalomjegyzék Objektum Orientált Programozás 1 Objektum Orientált Programozás Öröklődés 2 Fájlkezelés

Részletesebben

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat Szimuláljuk különféle élőlények túlélési versenyét. A lények egy pályán haladnak végig, ahol váltakozó viszonyok vannak. Egy lénynek

Részletesebben

Programozás C++ -ban

Programozá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észletesebben

A lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába

A lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába A lista eleme 0 adat rész mutató rész Listaelem létrehozása p: Node 0 0 3 0 Az elemet nekünk kell bef zni a listába Deklarálás struct Node { int int value; Node* next; next; adattagok Létrehozás Node*

Részletesebben

Géptermi zh-írás forgatókönyve

Géptermi zh-írás forgatókönyve Géptermi zh-írás forgatókönyve 1. A feladat és a tesztelés körülményeinek a megértése A feladat több részbıl áll. A megoldó program kötött szerkezető fájlból kapja az adatokat, ezért azt komolyan kell

Részletesebben

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. Programozás III CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban van a fejlesztő környezet és az osztálykönyvtárak is: rt.jar fájl

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Névterek és hatókörök Láthatósági szintek Osztály szintő tagok Beágyazott osztályok

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Láthatósági szintek Névterek és hatókörök Osztály szintő tagok Beágyazott osztályok

Részletesebben

STL. Algoritmus. Iterátor. Tároló. Elsődleges komponensek: Tárolók Algoritmusok Bejárók

STL. Algoritmus. Iterátor. Tároló. Elsődleges komponensek: Tárolók Algoritmusok Bejárók STL Elsődleges komponensek: Tárolók Algoritmusok Bejárók Másodlagos komponensek: Függvény objektumok Adapterek Allokátorok (helyfoglalók) Tulajdonságok Tárolók: Vektor (vector) Lista (list) Halmaz (set)

Részletesebben

1. Alapok. Programozás II

1. Alapok. Programozás II 1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph

Részletesebben

500. AA Megoldó Alfréd AA 500.

500. 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észletesebben

Dinamikus csatolású függvénykönyvtár készítése és használata Plugin-szerű betöltés Egyszeű C++ osztályok készítése

Dinamikus csatolású függvénykönyvtár készítése és használata Plugin-szerű betöltés Egyszeű C++ osztályok készítése FEJLETT PROGRAMOZÁSI NYELVEK, 2009 2. GYAKORLAT - Linux alatti C/C++ programozás Cél: Dinamikus csatolású függvénykönyvtár készítése és használata Plugin-szerű betöltés Egyszeű C++ osztályok készítése

Részletesebben

Egységes és objektumközpontú adatbázis-kezelés (2. rész)

Egységes és objektumközpontú adatbázis-kezelés (2. rész) Egységes és objektumközpontú adatbázis-kezelés (2. rész) A folytatásában a bemutatjuk, hogyan kezelhetünk Qt rendszer alatt SQL sormutatót, és készíthetünk grafikus felületet programoknak a Qt Designer

Részletesebben

Objektumok inicializálása

Objektumok 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észletesebben

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real

Részletesebben

Programozás II gyakorlat. 6. Polimorfizmus

Programozá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észletesebben

Programozás C++ -ban

Programozás C++ -ban Programozás C++ -ban 6. Konstansok A C nyelvben konstansokat makróval is deklarálhatunk. Ebben az esetben mindenhol ahol a makró előfordul a fordító a definiált értéket behelyettesíti a makró helyére.

Részletesebben

Programozás C++ -ban 2007/7

Programozá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észletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek középszint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM

Részletesebben

Alprogramok, paraméterátadás

Alprogramok, paraméterátadás ELTE Informatikai Kar, Programozási Nyelvek és Fordítóprogramok Tanszék October 24, 2016 Programozási nyelvek Alprogramok Függvények, eljárások Metódusok Korutinok stb. Alprogramok Alprogram: olyan nyelvi

Részletesebben

Objektumorientált programozás C# nyelven III.

Objektumorientált programozás C# nyelven III. Objektumorientált programozás C# nyelven III. Kivételkezelés Tulajdonságok Feladatok Készítette: Miklós Árpád Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és

Részletesebben

infix kifejezés a+b ab+ +ab postfix kifejezés prefix kifejezés a+b ab+ +ab a+b ab+ +ab Készítette: Szabóné Nacsa Rozália

infix kifejezés a+b ab+ +ab postfix kifejezés prefix kifejezés a+b ab+ +ab a+b ab+ +ab Készítette: Szabóné Nacsa Rozália infix kifejezés a+b ab+ +ab Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu postfix kifejezés prefix kifejezés a+b ab+ +ab a+b ab+ +ab 4 Lengyelforma J. Lukasewitz lengyel matematikus használta el

Részletesebben

A C++ öröklés. (Előfeltétel: 12. tétel ismerete)

A C++ öröklés. (Előfeltétel: 12. tétel ismerete) Az öröklés fogalma: A C++ öröklés (Előfeltétel: 12. tétel ismerete) olyan alapvető programozási technika, amely lehetővé teszi, hogy a már meglévő osztályainkból újakat tudunk származtatni, valamint az

Részletesebben

Osztályok. 4. gyakorlat

Osztá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észletesebben

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás. Emlékeztető: a fordítás lépései Forrás-kezelő (source handler) Szimbólumtábla-kezelés Fordítóprogramok előadás (A, C, T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus elemző

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Bevezetés Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 A Qt assistant nyitó ablaka www.trolltech.com 2 Alkalmazás

Részletesebben

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia A C programozási nyelv (Típusok és operátorok) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 szeptember

Részletesebben

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

A Microsoft Visual Studio 2005 fejlesztőkörnyezet Vizuális és eseményvezérelt programozás BMF NIK A Microsoft Visual Studio 2005 fejlesztőkörnyezet Az integrált fejlesztőkörnyezet (IDE) alapelemei Projektek és megoldások Új projekt indítása, projektek

Részletesebben

C++ Gyakorlat jegyzet 7. óra

C++ Gyakorlat jegyzet 7. óra C++ Gyakorlat jegyzet 7. óra A jegyzetet Umann Kristóf készítette Horváth Gábor gyakorlata alapján. (2018. április 30.) 0.1. Header fájlra és fordításra egységre szétbontás Ha egy darab header fájlban

Részletesebben

0.2.1 Operátorok túlterhelése (műveletek definiálhatók felhaszn. típusokra) Kutya. Eb1. Eb2. Név (txt): Rex. Blöki. Német juhász 3

0.2.1 Operátorok túlterhelése (műveletek definiálhatók felhaszn. típusokra) Kutya. Eb1. Eb2. Név (txt): Rex. Blöki. Német juhász 3 0 Az objektum-orientáltság 0.1 Objektum fogalma Egy rendszer egyedileg azonosítható szereplője adatokkal és működéssel. Egységbezárás (encapsulation) - viselkedés a külvilág felé - belső struktúra (kívülről

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek emelt szint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM

Részletesebben

Bevezetés a programozásba Előadás: A const

Bevezetés a programozásba Előadás: A const Bevezetés a programozásba 2 6. Előadás: A const ISMÉTLÉS Interface - Implementation struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; }; void Particle::rajzol() { gout

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelık Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát

Részletesebben

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1 Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1 Készítette: Gipsz Jakab Neptun-azonosító: A1B2C3 E-mail: gipszjakab@vilaghalo.hu Kurzuskód: IP-08PAED Gyakorlatvezető

Részletesebben

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.

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. 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észletesebben

Maximum kiválasztás tömbben

Maximum kiválasztás tömbben ELEMI ALKALMAZÁSOK FEJLESZTÉSE I. Maximum kiválasztás tömbben Készítette: Szabóné Nacsa Rozália Gregorics Tibor tömb létrehozási módozatok maximum kiválasztás kódolása for ciklus adatellenőrzés do-while

Részletesebben

Kalapácsvetés 2016 szöveges

Kalapácsvetés 2016 szöveges Kalapácsvetés 2016 Ebben a feladatban a 2016. évi nyári olimpiai játékokon az atlétika férfi kalapácsvetés döntőjének eredményeit kell feldolgoznia. A döntő 6 dobási sorozatból állt, de a 3. sorozat után

Részletesebben

Programozás. C++ típusok, operátorok. Fodor Attila

Programozás. C++ típusok, operátorok. Fodor Attila Programozás C++ típusok, operátorok 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 4. Deklaráció és definíció C++

Részletesebben

Felhasználó által definiált adattípus

Felhasználó által definiált adattípus Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési

Részletesebben

BME MOGI Gépészeti informatika 8.

BME 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észletesebben

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Készítette: Gregorics Tibor Szabóné Nacsa Rozália Alakítsunk át egy infix formájú aritmetikai kifejezést postfix

Részletesebben

Access adatbázis elérése OLE DB-n keresztül

Access adatbázis elérése OLE DB-n keresztül Access adatbázis elérése OLE DB-n keresztül Készítsünk egy grafikus felülető alkalmazást, ami lehetıvé teszi egy Access adatbázisban tárolt hallgatói adatok (EHA, Név, e-mail cím) lekérdezését (összes

Részletesebben

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Statikus 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észletesebben

Elemi alkalmazások fejlesztése IV.

Elemi alkalmazások fejlesztése IV. Elemi alkalmazások fejlesztése IV. C++/Qt adatbáziskezelő alkalmazás készítése Kdevelop környezetben I. Készítette: Szabóné Nacsa Rozália 1 MySql elindítása [nacsa@localhost nacsa]$ su Password:jelszó

Részletesebben

Elemi alkalmazások fejlesztése III. A Qt assistant elindítása. Ajánlott ir odalom. A Qt assistant nyitó ablaka

Elemi alkalmazások fejlesztése III. A Qt assistant elindítása. Ajánlott ir odalom. A Qt assistant nyitó ablaka Elemi alkalmazások fejlesztése III Ajánlott ir odalom Egy ablakos alkalmazás készítése I. C++ / Qt felhasználásával Qt dokumentáció online: www.trolltech.com lokális változat: Kdevelop help vagy /usr/share/doc...

Részletesebben

Objektum elvű alkalmazások fejlesztése 3. beadandó

Objektum elvű alkalmazások fejlesztése 3. beadandó Objektum elvű alkalmazások fejlesztése 3. beadandó Berezvai Dániel http://elte.3ice.hu/ 9. Feladat 3ICE: I was assigned the 9th task: Az alábbi feladat megoldásához több olyan osztályt kell használni,amelyek

Részletesebben

503.AA Megoldo Arisztid 503.A

503.AA Megoldo Arisztid 503.A Programozás alapjai 2. (inf.) 2. ZH 2017.04.27. gy./l. hiány: / ABCD123 Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot, de csak a feladatlapra írt megoldásokat értékeljük!

Részletesebben

Az 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) {} };

Az 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észletesebben

Programozás 5. Dr. Iványi Péter

Programozás 5. Dr. Iványi Péter Programozás 5. Dr. Iványi Péter 1 Struktúra Véges számú különböző típusú, logikailag összetartozó változó együttese, amelyeket az egyszerű kezelhetőség érdekében gyűjtünk össze. Rekord-nak felel meg struct

Részletesebben

Országzászlók (2015. május 27., Sz14)

Országzászlók (2015. május 27., Sz14) Országzászlók (2015. május 27., Sz14) Írjon programot, amely a standard bemenetről állományvégjelig soronként egy-egy ország zászlójára vonatkozó adatokat olvas be! Az egyes zászlóknál azt tartjuk nyilván,

Részletesebben

Bevezetés a programozásba 2

Bevezetés a programozásba 2 Bevezetés a programozásba 2 7. Előadás: STL konténerek, sablonok http://digitus.itk.ppke.hu/~flugi/ Vector int int main() { vector v(10); int int sum=0; for for (int i=0;i

Részletesebben

C#, OOP. Osztályok tervezése C#-ban

C#, OOP. Osztályok tervezése C#-ban C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia (Struktúra, mutatók, függvényhívás) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 október 14/21. Struktúra

Részletesebben

Elemi alkalmazások fejlesztése III.

Elemi alkalmazások fejlesztése III. Elemi alkalmazások fejlesztése III. Memóriajáték 1. Készítette: Szabóné Nacsa Rozália nacsa@inf.elte.hu people.inf.elte.hu/nacsa/qt4/eaf3/ Qt 4 2007 1 memorygame Játék közben 2 memorygame Kártyák kiválasztása

Részletesebben

PROGRAMOZÁSI NYELVEK - CPP. ELŐADÁS JEGYZET

PROGRAMOZÁSI NYELVEK - CPP. ELŐADÁS JEGYZET PROGRAMOZÁSI NYELVEK - CPP ELŐADÁS JEGYZET Szerkesztette: Balogh Tamás 2013 április 12 Ha hibát találsz, kérlek jelezd a info@baloghtamashu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! - Ne add

Részletesebben

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein. Programozás C++ 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. február 25. Osztályok C++ osztályok Bevezetés Objektum-orientáltság

Részletesebben

PHP5 Új generáció (2. rész)

PHP5 Új generáció (2. rész) PHP5 Új generáció (2. rész)...avagy hogyan használjuk okosan az osztályokat és objektumokat PHP 5-ben. Cikksorozatom elõzõ részében képet kaphattunk arról, hogy valójában mik is azok az objektumok, milyen

Részletesebben

Programozás(A szakirány) II. beadandó feladat Farkas András HP6S15 1. csoport Veszprémi Anna / Hudoba Péter

Programozás(A szakirány) II. beadandó feladat Farkas András HP6S15 1. csoport Veszprémi Anna / Hudoba Péter Programozás(A szakirány) II. beadandó feladat 2014.05.05. Farkas András HP6S15 fafee@fafeecorp.com 1. csoport Veszprémi Anna / Hudoba Péter Feladat: Egy szöveges állományban bekezdésekre tördelt szöveg

Részletesebben

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3) Programozás alapjai C nyelv 5. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.17. -1- Tömbök Azonos típusú adatok tárolására. Index

Részletesebben

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

C programozás. 6 óra Függvények, függvényszerű makrók, globális és C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,

Részletesebben

500. DD Megoldó Alfréd DD 500.

500. DD Megoldó Alfréd DD 500. Programozás alapjai 2. (inf.) zárthelyi 2009.05.21. gyakorlat: / Érdemjegy: QBX734 () IB319/32. Hftest: Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,

Részletesebben

Programozás s 2. C++ nyelven

Programozás s 2. C++ nyelven Programozás s 2 Objektum Orientált Programozás C++ nyelven utolsó változtatás s 2008.04.12. C++ Történetileg a C nyelv továbbfejleszt bbfejlesztésese Ennek előnyei: C programozó azonnal programozhat C-ként

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net

Bánsághi Anna anna.bansaghi@mamikon.net ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás

Részletesebben

228. AA Default Konstruktor AA 228.

228. AA Default Konstruktor AA 228. Programozás alapjai 2. (inf.) zárthelyi 2012.05.17. gyak. hiányzás: kzhpont: ABCDEF Q-II/107. nzh: Hftest: Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,

Részletesebben

Mobil alkalmazások fejlesztése

Mobil alkalmazások fejlesztése Tartalom Peekabo a legkisebb projekt... 2 A fordítás és szerkesztés folyamata... 2 Peekabo.mmp... 2 Peekaboo.pan... 3 Peekaboo.rss... 3 Peekaboo.rls... 4 Peekaboo.hrh... 4 Főprogram... 5 Peekaboo.cpp...

Részletesebben

C++ programozási nyelv

C++ 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észletesebben

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

Bevezeté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észletesebben

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:

Részletesebben

Rekurzió. Horváth Gyula. horvath@inf.elte.hu

Rekurzió. Horváth Gyula. horvath@inf.elte.hu 1. ábra. Rekurzió Horváth Gyula horvath@inf.elte.hu 1. Feladat: Sorbaállítások száma Hány féleképpen lehet sorbaállítani az osztály tanulóit? Bemenet: a tanulók n száma. Kimenet: ahány félekeppen az n

Részletesebben

PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET

PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET Szerkesztette: Balogh Tamás 2013. április 12. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! -

Részletesebben

Programozá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 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észletesebben

C++ programozási nyelv

C++ 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észletesebben

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1 STL gyakorlat C++ Izsó Tamás 2016. május 9. Izsó Tamás STL gyakorlat/ 1 Komponensek kapcsolata Deklarálja az alábbi osztálydiagramon szereplő osztályok közül az A, AA és AB osztályokat! A konstruktorokat

Részletesebben

Programozás C++ -ban

Programozá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észletesebben

Java és web programozás

Java é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észletesebben

Alkalmazott modul: Programozás 6. előadás. Strukturált programozás: újrafelhasználható adattípusok

Alkalmazott modul: Programozás 6. előadás. Strukturált programozás: újrafelhasználható adattípusok Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 6. előadás Strukturált programozás: újrafelhasználható adattípusok Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Pelda ö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észletesebben

Google C++ style guide

Google C++ style guide Április 3, 2013 Tartalomjegyzék Amiről szó lesz... Header állományok Hatókör Osztályok Elnevezések Előzmények Az útmutató célja A Google nyílt forrású projektjeinél túlnyomórészt C++: hatékony szolgáltatások,

Részletesebben

- 1 - Konstansok használata. Döntsük el, van-e fordítási idejű hiba az alábbi programrészletekben! a) const char * str="zh"; str[0]++;

- 1 - Konstansok használata. Döntsük el, van-e fordítási idejű hiba az alábbi programrészletekben! a) const char * str=zh; str[0]++; Az alábbi feladatokat a AUT.BME.HU tanszéki weboldalon fellelhető AUT C++ Példatárból másoltam ki. A feladatokat a Programozás alapjai 2. ZH-ra való felkészülés jegyében válogattam, a példák nagy részét

Részletesebben

Programozás alapjai II. (1. ea) C++

Programozás alapjai II. (1. ea) C++ Programozás alapjai II. (1. ea) C++ C++ kialakulása, nem OO újdonságok: Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2019.02.05.

Részletesebben

Programozás alapjai II. (1. ea) C++

Programozás alapjai II. (1. ea) C++ Programozás alapjai II. (1. ea) C++ C++ kialakulása, nem OO újdonságok: Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2019.02.05.

Részletesebben

Grafikus Qt programok írása segédeszközök nélkül

Grafikus Qt programok írása segédeszközök nélkül Grafikus Qt programok írása segédeszközök nélkül Grafikus felületű Qt programokat ahogy láttuk, készíthetünk egy egyszerű szövegszerkesztővel is, bár a Qt jó támogatást ad a grafikus felület grafikus tervezésére

Részletesebben

Bevezetés a programozásba előadás: Öröklődés

Bevezeté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észletesebben