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

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

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

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

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

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

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

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

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

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

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 Láthatósági szintek Névterek és hatókörök 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 Névterek és hatókörök Láthatósági szintek 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- 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

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

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 1. ELŐADÁS - C# ÁTTEKINTÉS - 1 2015 Bánsághi Anna 1 of 84 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 84

Részletesebben

Bevezetés, a C++ osztályok. Pere László

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

Kétdimenziós rajzolás WPF-ben

Kétdimenziós rajzolás WPF-ben Kétdimenziós rajzolás WPF-ben A grafikus megjelenítés módjai WPF-ben: System.Windows.Shapes névtér osztályaival magas szintű, rengeteg metódus, tulajdonságok, eseménykezelés, input kezelés (egér, billentyűzet)

Részletesebben

15. Programok fordítása és végrehajtása

15. Programok fordítása és végrehajtása 15. Programok fordítása és végrehajtása Programok fordítása és végrehajtása. (Fordítás és interpretálás, bytecode. Előfordító, fordító, szerkesztő. A make. Fordítási egység, könyvtárak. Szintaktikus és

Részletesebben

128. AA Megoldó Alfréd AA 128.

128. AA Megoldó Alfréd AA 128. Programozás alapjai 2. PótZH 2010.05.20. gyakorlat: Hiány:0 ZH: MEGOLD SEHOL/5. Hftest: 0 ZHp: Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti, hogy minden

Részletesebben

C# osztályok. Krizsán Zoltán

C# osztályok. Krizsán Zoltán C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC

Részletesebben

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit.

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit. Sapientia - EMTE 2008 Az előadás célja JPA - - perzisztencia ORM - - Objektumrelációs leképzés - Entitásbabok Állandóság Mechanizmus amely során az alkalmazás adatai megőrzésre kerülnek valamely perzisztens

Részletesebben

osztályok kapcsolata Származtatatás C++ Izsó Tamás 2014. március 19. Izsó Tamás Származtatatás/ 1

osztályok kapcsolata Származtatatás C++ Izsó Tamás 2014. március 19. Izsó Tamás Származtatatás/ 1 Származtatatás C++ Izsó Tamás 2014. március 19. Izsó Tamás Származtatatás/ 1 Dinamikus tagváltozó az osztályban class RVektor { i n t n ; R a c i o n a l i s p ; p u b l i c : RVektor ( i n t n=10 ) :

Részletesebben

Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt

Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt BME Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt Visual Studio, SystemC, SDL Tóth Gergely Endre 2013.03.18. 1 Bevezetés Ebben a dokumentumban leírom, hogy hogyan lehet

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 Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Szeberényi Imre BME IIT M Ű E G Y T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2011.04.12. -1- Öröklés

Részletesebben

0.1. Mi az a standard be- és kimenet?... 1. 0.2. A két mintafeladat leírása

0.1. Mi az a standard be- és kimenet?... 1. 0.2. A két mintafeladat leírása KöMaL Technikai tanácsok az I- és S-jelű pontversenyhez A standard be- és kimenet kezelése Tartalomjegyzék 0.1. Mi az a standard be- és kimenet?............................. 1 0.2. A két mintafeladat leírása.................................

Részletesebben

Elemi Alkalmazások Fejlesztése II.

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

Konkurens TCP Szerver

Konkurens TCP Szerver A gyakorlat célja: Konkurens TCP Szerver Megismerkedni a párhuzamos programozás és a konkurens TCP szerver készítésének az elméleti és gyakorlati alapjaival és egy egyidejűleg több klienst is kiszolgáló

Részletesebben

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

PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET

PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET Szerkesztette: Balogh Tamás 2013. március 31. 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

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C programozási nyelvbe Az Általános Informatikai Tanszék C nyelvi kódolási szabványa Oktatási segédletek a levelező műszaki informatikus hallgatók

Részletesebben

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere 2012. április 10. A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Miről lesz ma szó? alaki szabályok használata - mintapélda használata - mintapélda

Részletesebben

3D-s számítógépes geometria és alakzatrekonstrukció

3D-s számítógépes geometria és alakzatrekonstrukció 3D-s számítógépes geometria és alakzatrekonstrukció 3a. Tesztkörnyezet I http://cg.iit.bme.hu/portal/node/312 https://portal.vik.bme.hu/kepzes/targyak/viiima01 Dr. Várady Tamás, Salvi Péter BME, Villamosmérnöki

Részletesebben

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

Programozás II. 2. Dr. Iványi Péter Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c

Részletesebben

Katona József Király Zoltán. Objektumorientált szoftverfejlesztés C++ nyelven

Katona József Király Zoltán. Objektumorientált szoftverfejlesztés C++ nyelven Katona József Király Zoltán Objektumorientált szoftverfejlesztés C++ nyelven (KONSTRUKTOR TÍPUSOK, DESTRUKTOR, OSZTÁLYSABLONOK, FÜGGVÉNYSABLONOK ÉS FÜGGVÉNYTÚLTERHELÉSEK) Katona József Király Zoltán, 2015

Részletesebben

Bevezetés a programozásba Előadás: Fordítási egység

Bevezetés a programozásba Előadás: Fordítási egység Bevezetés a programozásba 2 5. Előadás: Fordítási egység ISMÉTLÉS Tagfüggvény kiemelése struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; void Particle::rajzol() { gout

Részletesebben

Bevezetés a C++ programozásba

Bevezetés a C++ programozásba Bevezetés a C++ programozásba A program fogalma: A program nem más, mint számítógép által végrehajtható utasítások sorozata. A számítógépes programokat különféle programnyelveken írhatjuk. Ilyen nyelvek

Részletesebben

Rajzolás QT alatt. Zimler Attila Tamás

Rajzolás QT alatt. Zimler Attila Tamás <hijaszu@hlfslinux.hu> Rajzolás QT alatt Zimler Attila Tamás 1 Milyen programot szeretnénk készíteni? 2 Mire lesz szükség, mielőtt tényleg rajzolnánk? Egy teljesen szokványos main() függvényre. Egy szintén

Részletesebben

Abstract osztályok és interface-ek. 7-dik gyakorlat

Abstract osztályok és interface-ek. 7-dik gyakorlat Abstract osztályok és interface-ek 7-dik gyakorlat Abstract metódusok és osztályok Az OO fejlesztés során olyan osztályokat is kialakíthatunk, melyeket csak továbbfejlesztésre, származtatásra lehet használni,

Részletesebben

A WEB programozása - JSP1 dr.gál Tibor. 2010. őszi félév

A WEB programozása - JSP1 dr.gál Tibor. 2010. őszi félév Általános jellemzők JavaServer Pages (JSP) Java utasításokat helyezetünk el a HTML lapon Ezket a Java utasításokat a kiszolgáló végrehajtja Az ügyfél felé generált tartalom: statikus HTML kód + Java utasítások

Részletesebben

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása DBMS spektrum Excel ODBC-ADO API Tevékenységpontok: - DBMS telepítés - ODBC driver telepítése - DSN létrehozatala -Excel-ben ADO bevonása - ADOConnection objektum létrehozatala - Open: kapcsolat felvétel

Részletesebben

Java és web programozás

Java é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é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 BME IIT Veszélyforrások csökkentése C + javítások C++ kialakulása C++ Objektum orientált szemlélet

Részletesebben

C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat

C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat 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/12 Input-output

Részletesebben

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE 2015-16 Classic Empire - A turn Based Wargame Classic Empire is a real time, multiplayer, Internet-based game, featuring military, diplomatic, and economic

Részletesebben