4. Öröklődés. Programozás II
|
|
- Júlia Illésné
- 9 évvel ezelőtt
- Látták:
Átírás
1 4. Öröklődés Programozás II
2 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() ); Mi van, ha később új tulajdonsággal bővítjük a tárgyat? Akkor a fenti kódot is karban kell tartani macerás, és el is felejthetjük 2
3 Mielőtt belevágunk Egy Tárgy típusú objektumokat tároló tömb i. elemében tároljunk el egy új tárgyat Helyes módszer: tomb[i] = uj; Az értékadás ( = ) művelet alkalmazható objektumok között is Minden adattagot át fog másolni 3
4 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! 4
5 Megoldás: dolgozo.h class Dolgozo { int fizetes; int ev, honap, nap; string nev; public: Dolgozo(const string & nev); Dolgozo(const Dolgozo & orig); int getfizetes() const; void getszuletes(int & ev, int & honap, int & nap) const; const string & getnev() const; void setfizetes(int f); void setszuletes(int ev, int honap, int nap); void setnev(const string & nev); ; 5
6 Megoldás: dolgozo.cpp #include "dolgozo.h Dolgozo::Dolgozo(const string & nev) { this->nev = nev; fizetes = 0; ev = honap = nap = 0; Dolgozo::Dolgozo(const Dolgozo & orig) { this->nev = orig.nev; fizetes = orig.fizetes; ev = orig.fizetes; honap = orig.fizetes; nap = orig.fizetes; 6
7 Megoldás: dolgozo.cpp int Dolgozo::getFizetes() const { return fizetes; void Dolgozo::getSzuletes(int & ev, int & honap, int & nap) const { ev = this->ev; honap = this->honap; nap = this->nap; const string & Dolgozo::getNev() const { return nev; void Dolgozo::setFizetes(int f) { fizetes = f; 7
8 Megoldás: dolgozo.cpp void Dolgozo::setSzuletes(int ev, int honap, int nap) { this->ev = ev; this->honap = honap; this->nap = nap; void Dolgozo::setNev(const string & nev) { this->nev = nev; 8
9 Megoldás: main.cpp #include <iostream> #include "dolgozo.h" using namespace std; #define UJ_DOLGOZO( neve ) CDolgozo neve ( #neve ) int main() { Dolgozo carmack( Carmack ); Dolgozo romero("romero"); cout << carmack.getnev() << endl; cout << romero.getnev() << endl; 9
10 Feladat A cégnél több fajta dolgozó van: programozó designer játék tesztelő 10
11 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! 11
12 Megoldás 1. class Programozo { int fizetes; int ev, honap, nap; string nev, tudas, munka; public: Programozo(const string & nev); Programozo(const Programozo & orig); int getfizetes() const; void getszuletes(int & ev, int & honap, int & nap) const; const string & getnev() const; void setfizetes(int f); void setszuletes(int ev, int honap, int nap); void setnev(const string & nev); const string & gettudas() const; void settudas(const string & tudas); const string & getmunkakor() const; void setmunkakor(const string & munkakor); ; 12
13 Megoldás 1. class Programozo { int fizetes; int ev, honap, nap; string nev, tudas, munka; public: Programozo(const string & nev); Programozo(const Programozo & orig); int getfizetes() const; void getszuletes(int & ev, int & honap, int & nap) const; const string & getnev() const; void setfizetes(int f); void setszuletes(int ev, int honap, int nap); void setnev(const string & nev); const string & gettudas() const; void settudas(const string & tudas); const string & getmunkakor() const; void setmunkakor(const string & munkakor); ; 10
14 Megoldás 2. #include "dolgozo.h" class Programozo { Dolgozo d; string tudas, munka; public: Programozo(const string & nev); Programozo(const Programozo & orig); int getfizetes() const; void getszuletes(int & ev, int & honap, int & nap) const; const string & getnev() const; void setfizetes(int f) { d.setfizetes(f) ; void setszuletes(int ev, int honap, int nap); void setnev(const string & nev); const string & gettudas() const; void settudas(const string & tudas); const string & getmunkakor() const; ; void setmunkakor(const string & munkakor); 11
15 Megoldás 2. #include "dolgozo.h" class Programozo { Dolgozo d; string tudas, munka; public: Programozo(const string & nev); Programozo(const Programozo & orig); int getfizetes() const; void getszuletes(int & ev, int & honap, int & nap) const; const string & getnev() const; void setfizetes(int f) { d.setfizetes(f) ; void setszuletes(int ev, int honap, int nap); void setnev(const string & nev); const string & gettudas() const; void settudas(const string & tudas); const string & getmunkakor() const; void setmunkakor(const string & munkakor); ; 11
16 Megoldás 3. programozo.h #include "dolgozo.h" class Programozo: public Dolgozo { string tudas, munka; public: Programozo(const string & nev); Programozo(const Programozo & orig); ; const string & gettudas() const; void settudas(const string & tudas); const string & getmunkakor() const; void setmunkakor(const string & munkakor); 12
17 Megoldás 3. programozo.h #include "dolgozo.h" class Programozo: public Dolgozo { string tudas, munka; public: Programozo(const string & nev); Programozo(const Programozo & orig); ; const string & gettudas() const; void settudas(const string & tudas); const string & getmunkakor() const; void setmunkakor(const string & munkakor); 12
18 Megoldás: programozo.cpp #include <cstring> #include "programozo.h" Programozo::Programozo(const string & nev) { // nev????? tudas[0] = munka[0] = ; Programozo::Programozo(const Programozo & orig) { settudas(orig.tudas); setmunkakor(orig.munka); 13
19 Megoldás: programozo.cpp const string & Programozo::getTudas() const { return tudas; void Programozo::SetTudas(const string & tudas) { this->tudas = tudas; const string & Programozo::getMunkakor() const { return munka; void Programozo::setMunkakor(const string & munkakor) { this->munka = munka; 14
20 Objektum létrehozása #include <iostream> #include "dolgozo.h" #include "programozo.h" using namespace std; int main() { Programozo carmack("carmack"); Dolgozo romero("romero"); cout << carmack.getnev() << endl; cout << romero.getnev() << endl; 15
21 Objektum létrehozása #include <iostream> #include "dolgozo.h" #include "programozo.h" using namespace std; Mi lesz a probléma? int main() { Programozo carmack("carmack"); Dolgozo romero("romero"); cout << carmack.getnev() << endl; cout << romero.getnev() << endl; 15
22 Probléma: ősosztály konstruktora Az ősosztály konstruktora hívódik meg, majd a származtatott osztályé 16
23 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
24 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
25 Megoldás Programozo::Programozo(const string & nev) : Dolgozo(nev) { tudas[0] = munka[0] = ; Programozo::Programozo(const Programozo & orig): Dolgozo(orig) { tudas = orig.tudas); munka = orig.munka; 17
26 Ősosztály származtatott osztály carmack típusa: Programozo romero típusa: Dolgozo void fizetes_kiir(const Dolgozo & dolgozo) { cout<<"fizetese: "<<dolgozo.getfizetes()<<endl; fizetes_kiir(carmack); // fizetes_kiir(romero); // 18
27 Ősosztály származtatott osztály carmack típusa: Programozo romero típusa: Dolgozo void fizetes_kiir(const Dolgozo & dolgozo) { cout<<"fizetese: "<<dolgozo.getfizetes()<<endl; fizetes_kiir(carmack); // fizetes_kiir(romero); // 18
28 Ősosztály származtatott osztály carmack típusa: Programozo romero típusa: Dolgozo void fizetes_kiir(const Dolgozo & dolgozo) { cout<<"fizetese: "<<dolgozo.getfizetes()<<endl; fizetes_kiir(carmack); fizetes_kiir(romero); // // Minden programozó dolgozó is 18
29 Ősosztály származtatott osztály carmack típusa: Programozo romero típusa: Dolgozo void fizetes_kiir(const Programozo & prg) { cout<<"fizetese: "<<prg.getfizetes()<<endl; fizetes_kiir(carmack); // fizetes_kiir(romero); // 19
30 Ősosztály származtatott osztály carmack típusa: Programozo romero típusa: Dolgozo void fizetes_kiir(const Programozo & prg) { cout<<"fizetese: "<<prg.getfizetes()<<endl; fizetes_kiir(carmack); // fizetes_kiir(romero); // 19
31 Ősosztály származtatott osztály carmack típusa: Programozo romero típusa: Dolgozo void fizetes_kiir(const Programozo & prg) { cout<<"fizetese: "<<prg.getfizetes()<<endl; fizetes_kiir(carmack); fizetes_kiir(romero); // // de nem minden dolgozó programozó! 19
32 Függvény felülírás Írjunk egy setfizetes függvényt a Programozo 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
33 Függvény felülírás Mi történik? void Programozo::setFizetes(int i) { setfizetes(i ); 21
34 Függvény felülírás Mi történik? void Programozo::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 Programozo::setFizetes(int i) { Dolgozo::setFizetes(i ); 21
35 protected hozzáférés Az ősosztályban protected jogosultságot is adhatunk: class Dolgozo { 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
36 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
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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 24
45 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; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 24
46 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; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 24
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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 25
55 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; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 25
56 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; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 25
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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 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() { a = 0; // b = 0; // c = 0; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 26
65 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; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 26
66 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; // A * p = this; // ; class C: public B { void g() { a = 0; // b = 0; // c = 0; // A * p = this; // ; 26
67 private öröklődés A private öröklődés elfedi azt, hogy egy A osztály a B-ből lett származtatva Ez csupán egy implementációs fogás, amit helyettesíthetünk azzal, hogy az A osztályba beágyazunk egy B objektumot Éppen ezért private öröklődésre csak nagyon ritkán van szükség 67
68 Beágyazás Öröklődés Írjunk osztályt, amely egy személy adatait tárolja Az adatok: állandó lakcím, ideiglenes cím, telefonszám, név, beszélt nyelvek Használhatunk itt öröklődést? 68
69 Beágyazás Öröklődés Írjunk osztályt, amely egy személy adatait tárolja Az adatok: állandó lakcím, ideiglenes cím, telefonszám, név, beszélt nyelvek Használhatunk itt öröklődést? Egy személy nem cím Egy személy nem név Egy személy nem beszélt nyelvek listája 69
70 Beágyazás Öröklődés Egy személy nem cím Egy személy nem név Egy személy nem beszélt nyelvek listája DE: Egy személynek van neve, van címe, és van egy listája az általa beszélt nyelvekről 70
71 Beágyazás Öröklődés Írjunk egy osztályt, amely vállalati autókat ábrázol Az autóról tároljuk az autó márkáját, és a hozzá tartozó sofőr nevét Öröklődhet-e ez az autó osztály a személy osztályból? Hiszen akkor az autóban meglenne minden, ami a személyben is 71
72 Beágyazás Öröklődés Írjunk egy osztályt, amely vállalati autókat ábrázol Az autóról tároljuk az autó márkáját, és a hozzá tartozó sofőr nevét Öröklődhet-e ez az autó osztály a személy osztályból? Hiszen akkor az autóban meglenne minden, ami a személyben is NEM! Az autó nem azonos az azt vezető személlyel 72
73 Beágyazás Öröklődés Írjunk egy osztályt, amely egy dolgozó adatait tárolja A dolgozó adatai: cím, ideiglenes cím, név, telefonszám, beszélt nyelvek, fizetés, beosztás megnevezése Öröklődhet a dolgozó osztály a személy osztályból? 73
74 Beágyazás Öröklődés Írjunk egy osztályt, amely egy dolgozó adatait tárolja A dolgozó adatai: cím, ideiglenes cím, név, telefonszám, beszélt nyelvek, fizetés, beosztás megnevezése Öröklődhet a dolgozó osztály a személy osztályból? Igen, hiszen a dolgozó egyben személy is 74
75 Beágyazás Öröklődés Beágyazást használunk, ha azt akarjuk kifejezni, hogy A rendelkezik B, C, D, stbvel Öröklődést használunk akkor, ha azt akarjuk kifejezni, hogy A az egyben B is, azaz A-ra időnként elég B-ként tekinteni a kódban 75
76 Feladat Egy web áruházban az alábbi árufajtákat lehet rendelni: könyv film játék Minden árunak van neve, és ára. A könyvnek van oldalszáma és szerzője. A filmnek van rendezője, és szereplőgárdája. A játéknak van tömege, és egy korhatár besorolása (hány éves kortól ajánlott). 76
77 Feladat Továbbá, minden áruhoz tartozik egy dátum, ami megadja, hogy mikortól rendelhető az áruházban. A dátumokhoz szükség van összehasonlító műveletre, amely megadja, hogy két dátum közül melyik a korábbi. 77
78 Feladat Tervezd meg az osztályokat, amelyekkel leírhatóak az árucikkek. Mely osztályoknak szükséges közös ősosztály? Mely osztályokat használunk beágyazottan, és mely osztályokba ágyazzuk be őket? 78
79 Házi feladat A készülő játékban különböző karakterek szerepelnek. A Lovagnak van neve, életereje, sebzése (vigyázat, ez új!), tapasztalati pontja, és szintje A Zombinak* van neve, életereje, sebzése, illetve, hogy mennyi tapasztalati pontot kap az a karakter (Lovag), aki legyőzi * Bármi mással helyettesíthető 79
80 Házi feladat Módosítsd a Lovag osztályt, valamint írd meg a Zombi osztályt, illetve a szükséges osztályokat úgy, hogy ha minden karaktert ki kell egészíteni egy új tulajdonsággal, akkor valóban minden karakter osztály megkapja azt 80
81 Házi feladat A karakter osztályok rendelkezzenek egy sebez függvénnyel, amely paraméterül kap egy másik karaktert A függvény a paraméterül kapott karakter életerejét csökkentse a támadó sebzésének értékével, azaz: a.sebez(b); Ekkor b életereje a karakter sebzésének értékével csökken 81
82 Házi feladat Fontold meg alaposan, hogy a sebez függvényt melyik osztályban helyezed el Fontold meg alaposan, hogy milyen típusú paramétere legyen Fontos, hogy a sebez függvény paraméterének bármilyen karaktert megadhassunk (később lehet, hogy még több karakter osztályunk lesz, a sebez függvényt ne kelljen ezekhez módosítani) 82
83 Házi feladat A játékban egyelőre csak egy ellenfél legyen Bővítsd ki a Menü osztályt egy olyan függvénnyel, amely az adott azonosítóval rendelkező menüpontot eltávolítja a menüből Adj egy támad menüpontot a menühöz (vigyázat, nem az osztályhoz, hanem a program az induláskor ezzel az új menüvel is lássa el a menüt) 83
84 Házi feladat A támad menüpontot választva a lovag vigyen be a sebzési értékének megfelelő sebzést az ellenfélnek Az ellenfél pedig válaszul 20%-os valószínűséggel vigyen be a saját sebzésének megfelelő sebzést a lovagnak (tipp: használd a rand függvényt) Mindehhez használd fel a sebez függvényt 84
85 Házi feladat Ha az ellenfél meghalt (életereje 0, vagy kevesebb), akkor a menüből távolítsuk el a támad menüpontot Ha a lovag hal meg, akkor a program lépjen ki Továbbra is minden osztályhoz külön header és forrásfájlt írj! 85
Programozás II gyakorlat. 4. Öröklődés
Programozás II gyakorlat 4. Öröklődés 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
RészletesebbenProgramozá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észletesebbenProgramozás C++ -ban 2007/4
Programozás C++ -ban 2007/4 1. Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több szempontból is hasznos
RészletesebbenOAF 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észletesebben117. 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észletesebbenProgramozá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észletesebbenOsztály és objektum fogalma
Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály
RészletesebbenPHP 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észletesebbenSzá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észletesebbenA 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észletesebben3. Osztályok II. Programozás II
3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt
RészletesebbenProgramozá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észletesebbenSTL. 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észletesebbenBevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 11. előadás 2014.05.12. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Adatszerkezetek
RészletesebbenProgramozás II gyakorlat. 8. Operátor túlterhelés
Programozás II gyakorlat 8. Operátor túlterhelés Kezdő feladat Írjunk egy Vector osztályt, amely n db double értéket tárol. A konstruktor kapja meg az elemek számát. Írj egy set(int idx, double v) függvényt,
RészletesebbenProgramozás II. 6.Öröklés Dr. Iványi Péter
Programozás II. 6.Öröklés Dr. Iványi Péter 1 Öröklés Programozók lusta emberek, nem szeretnék valamit kétszer leírni Miért veszélyes? Nem hatékony Újra kell tárolni a kódot, újra le kell fordítani Karbantartás
RészletesebbenStatikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék
Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma
RészletesebbenEmlé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észletesebben1. 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észletesebbenOsztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
RészletesebbenA 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észletesebbenGé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észletesebbenObjektumok inicializálása
Objektumok inicializálása Miskolci Egyetem Általános Informatikai Tanszék Objektumok inicializálása CPP4 / 1 Tartalom public adattagok inicializálása felsorolással konstruktor objektum tömbök osztály típusú
RészletesebbenProgramozás 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észletesebbenC++ 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észletesebbenProgramozás C++ -ban
Programozás C++ -ban 4. Bevezetés az osztályokba 4.1 Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több
RészletesebbenSTL 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észletesebbenElemi 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észletesebbenA feladat lényege egy felhasználói típusnak a zsák típusnak a megvalósítása.
Feladat Készítsen egy egész számokat tartalmazó zsák típust! A zsákot dinamikusan lefoglalt tömb segítségével ábrázolja! Implementálja a szokásos műveleteket (elem betevése, kivétele, üres-e a halmaz,
Részletesebben500. AA Megoldó Alfréd AA 500.
Programozás alapjai 2. NZH 2010.05.13. gyakorlat: / Hiány:0 ZH:0 MEGOLD IB.027/51. Hftest: 0 Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti, hogy minden
RészletesebbenObjektumorientá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észletesebbenObjektumorientá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észletesebben0.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észletesebbenElemi Alkalmazások Fejlesztése II.
Elemi Alkalmazások Fejlesztése II. Osztályok közötti kapcsolatok öröklődés asszociáció aggregáció kompozíció 1. Feladat Készítsünk programot, amellyel testek térfogatát határozhatjuk meg, illetve megadhatjuk
RészletesebbenProgramozás 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észletesebbenOBJEKTUM 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észletesebbenDinamikus 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észletesebben500. CC Megoldó Alfréd CC 500.
Programozás alapjai 2. PótZH 2010.05.20. gyakorlat: G1/IB.146 Hiány:3 ZH:7,71 MEGOLD SCH/500. Hftest: 0 ZHp: Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
RészletesebbenISA szimulátor objektum-orientált modell (C++)
Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált
RészletesebbenEgysé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észletesebbenVisual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.
Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat
RészletesebbenBevezeté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észletesebbenJava 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észletesebbenTartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!
Tartalomjegyzék Általános Információ! 2 Felhasználói dokumentáció! 3 Feladat! 3 Környezet! 3 Használat! 3 Bemenet! 3 Példa! 3 A program eredménye! 3 Példa! 3 Hibalehetőségek! 3 Példa! 3 Fejlesztői dokumentáció!
RészletesebbenMaximum 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észletesebbenProgramozá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észletesebbenProgramozás C++ -ban 2007/7
Programozás C++ -ban 2007/7 1. Másoló konstruktor Az egyik legnehezebben érthető fogalom C++ -ban a másoló konstruktor, vagy angolul "copy-constructor". Ez a konstruktor fontos szerepet játszik az argumentum
RészletesebbenBevezeté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észletesebben503.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észletesebbenProgramozá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észletesebbenProgramozá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észletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális
RészletesebbenProgramozá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észletesebbenPelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;
Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely
RészletesebbenKö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észletesebbenOPERÁCIÓS RENDSZEREK 1. ÁTIRÁNYÍTÁSOK, SZŰRŐK
OPERÁCIÓS RENDSZEREK 1. ÁTIRÁNYÍTÁSOK, SZŰRŐK ÁTIRÁNYÍTÁSOK KIMENET ÁTIRÁNYÍTÁSA A standard output > >> 1> root@ns:/var/tmp# date > datum.txt root@ns:/var/tmp# cat datum.txt 2016. márc. 2., szerda, 07.18.50
RészletesebbenObjektum 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észletesebbenTartalomjegyzék. Bevezetés...2
Tartalomjegyzék Bevezetés...2 1. Követelmény analízis...3 1.1. Áttekintés...3 1.2. Használati eset diagram (use case)...3 1.3. Alkalmazási példa...5 2. Modellezés...6 2.1. Osztálydiagram...6 2.2. Osztályok
RészletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
RészletesebbenBevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum
Bevezetés a programozásba 2 1. Előadás: Tagfüggvények, osztály, objektum Ismétlés int main() { string s; s; s= bla ; cout
Részletesebben15. 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észletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. szeptember 18. 2. El adás Komplex szám public class Complex { private float repart_; private float impart_; public Complex() { repart_ = 0; impart_ = 0; public Complex(float
RészletesebbenOOP: Java 8.Gy: Gyakorlás
OOP: Java 8.Gy: Gyakorlás 43/1 B ITv: MAN 2019.04.10 43/2 Egy régebbi beszámoló anyaga 1. Feladat: Készítsen egy Szemely nevű osztályt a szokásos konvenciók betartásával, amely tárolja egy ember nevét
RészletesebbenPHP5 Ú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észletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
RészletesebbenProgramozás 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észletesebben500. 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észletesebben128. 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észletesebbenBevezetés a programozásba. 8. Előadás: Függvények 2.
Bevezetés a programozásba 8. Előadás: Függvények 2. ISMÉTLÉS Helló #include using namespace std; int main() cout
RészletesebbenNémetország Düsseldorf 2015.06.14-07.04. MUNKANAPLÓ. Mobilitási projekt 2014-1 - HU01 - KA102-000338. Készítette: Bodonyi Bence
Németország Düsseldorf 2015.06.14-07.04. MUNKANAPLÓ Mobilitási projekt 2014-1 - HU01 - KA102-000338 Készítette: Bodonyi Bence A szeminárium tananyaga (The seminar curriculum) 1. Bevezetés (Introduction)
Részletesebben0.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észletesebbenProgramozás II gyakorlat. 7. Példák a polimorfizmus alkalmazásaira
Programozás II gyakorlat 7. Példák a polimorfizmus alkalmazásaira Probléma class A { public: ~A() { cout
RészletesebbenBevezeté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észletesebbeninfix 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észletesebbenProgramozá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észletesebbenAlap számológép alkalmazás
Első Androidos programom - Egyszerű műveleteket használó számológép elkészítése Android Developer Tools (ADT) segítségével Alap számológép alkalmazás Android programfejlesztés Tompos Szabolcs Tartalom
RészletesebbenObjektum 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észletesebbenOOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
RészletesebbenBevezetés a programozásba I.
Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk
RészletesebbenObjektumorientá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észletesebbenKé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észletesebbenBevezeté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észletesebbenProgramozás II. ATM példa Dr. Iványi Péter
Programozás II. ATM példa Dr. Iványi Péter 1 ATM gép ATM=Automated Teller Machine Pénzkiadó automata Kezelő szoftvert szeretnénk írni Objektum-orientált módon 2 Követelmények Egyszerre csak egy embert
RészletesebbenBá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észletesebbenFelhaszná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észletesebbenPROGRAMOZÁ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észletesebbenC# 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észletesebbenProgramozá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észletesebbenBME MOGI Gépészeti informatika 8.
BME MOGI Gépészeti informatika 8. 1. feladat Készítse beosztottak és vezetők munkahelyi adatait kezelő alkalmazást! A feladat megoldásához hozza létre a következő osztályokat! Beosztott osztály: adatmező
RészletesebbenMiután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:
Excel objektumok Az excelben az osztályokat úgynevezett class modulokként hozzuk létre. Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: View-ba
RészletesebbenAlkalmazott modul: Programozás
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Feladatgyűjtemény Összeállította: Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Frissítve: 2015.
RészletesebbenVizuális programozás gyakorlat
Vizuális programozás gyakorlat Képnézegető alkalmazás WPF alapú felülettel Készítsen egy WPF képnézegető alkalmazást, ami a mellékelt ábrának megfelelően a bal oldali oszlopban (Grid) egy könyvtárban található
RészletesebbenBevezetés a programozásba I.
Bevezetés a programozásba I. 9. gyakorlat Intelligens tömbök, mátrixok, függvények Surányi Márton PPKE-ITK 2010.11.09. C++-ban van lehetőség (statikus) tömbök használatára ezeknek a méretét fordítási időben
RészletesebbenINFORMATIKAI 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észletesebbenBorkereskedő. Dokumentáció a Programozási módszertan elmélete című tárgy beadandó programjához. Magyar Attila mattila@inf.elte.hu 2002.11.26.
Borkereskedő Dokumentáció a Programozási módszertan elmélete című tárgy beadandó programjához Magyar Attila mattila@inf.elte.hu 2002.11.26. 2 Tartalomjegyzék: Beadandó feladat 3 Borkereskedő 3 Állandók
RészletesebbenJava programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
Részletesebben228. 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észletesebbenProgramozás Minta programterv a 2. házi feladathoz 1.
Programozás Minta programterv a. házi feladathoz 1. Gregorics Tibor. beadandó/0.feladat 01. január 11. EHACODE.ELTE gt@inf.elte.hu 0.csoport Feladat Egy szöveges állományban bekezdésekre tördelt szöveg
RészletesebbenBevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 10. gyakorlat C++: alprogramok deklarációja és paraméterátadása 2011.11.22. Giachetta Roberto groberto@inf.elte.hu
Részletesebben