Programozás alapjai II. (6. ea) C++
|
|
- Tibor Somogyi
- 5 évvel ezelőtt
- Látták:
Átírás
1 Programozás alapjai II. (6. ea) C++ mutatókonverziók, heterogén kollekció Szeberényi Imre BME IIT Öröklés (ismétlés) Egy osztályból olyan újabb osztályokat származtatunk, amelyek rendelkeznek az eredeti osztályban már definiált tulajdonságokkal és viselkedéssel. Analitikus Korlátozó A tagfüggvények átdefiniálhatók (overload) virtuális függvény: hogy a tagfüggvény alaposztály felől is elérhető legyen M Ű E G Y T E M 7 8 C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I Analitikus öröklés példa (ism.) class Pont { int x, y; Pont(int x, int y) :x(x), y(y) { void set(int x, int y) {x = x; y = y; class Pont3D :public Pont { int z; Pont3D(int x, int y, int z) Bővült :Pont(x, y), z(y) { void set(int x, int y, int z) { Pont::set(x, y); z = z; Pont int x, y Pont3D int z C++ programozási nyelv BME-IIT Sz.I Korlátozó öröklés példa/ (ism.) Szeretnénk egy stack és egy queue osztályt: mindkettő tároló nagyon hasonlítanak, de eltér az interfészük: o put, get <> push, pop önállóak vagy örökléssel? class Queue {. void put( int e ); int get( ); class Stack {. void push( int e ); int pop( ); C++ programozási nyelv BME-IIT Sz.I Korlátozó öröklés példa/ (ism.) class Stack : private Queue { // privát: eltakar a külvilág felé int nelem; Továbbhívjuk a Get()-et Stack( ) : nelem() { int pop( ) { nelem--; return(get()); Queue void push(int e) { put(e); // betesz for( int i = ; i < nelem; i++ ) put( ),get( ) put(get( )); // átforgat nelem++; Stack Nem hatékony, csak példa! push( ), pop( ) Stack s; s.pop(); s.get() C++ programozási nyelv BME-IIT Sz.I Vonal végpont rajzol() Virtuális tagfüggvény (ism.) Alakzat poz, szin mozgat() virtual rajzol() Kör sugár rajzol() rajzol() "átdefiniálása" virtuális függvénnyel átdefiniálása: fv overload Alakzat::rajzol(); Mit hív? késői kötés C++ programozási nyelv BME-IIT Sz.I
2 Fontos C++ sajátságok Konstruktor nem lehet virtuális Destruktor igen, és érdemes odafigyelni rá Alaposztályból dinamikus adattagot tartalmazó osztályt hozunk létre, majd ezt az alaposztály "felöl" használjuk (töröljük). A konstruktorból hívott (saját) virtuális függvény még nincs átdefiniálva! A virt. táblát maga konstruktor tölti ki! (kötés) absztrakt osztály estén NULL pointer! class Pont { protected: int x, y; Inicializálás / (ism.) Pont(int x =, int y = ) { x = x; y = y; class Pont3D :public Pont { int z; Pont3D(int x, int y, int z) Legyen default, mert. Mindig lehet így? {x = x; y = y; z = z; Alaposztály konstruktora mikor hívódik? C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I Inicializálás / (ism.) class Pont { protected: int x, y; Pont(int x, int y) : x(x), y(y) { class Pont3D :public Pont { int z; Nem fontos a default. Alaposztály konstruktora Pont3D(int x, int y, int z) : Pont(x, y), z(z) { Inicializálás /3 (ism.) class FixKor :public Pont { double& r; Kötelező inicializálni! const double PI; Kor(int x, int y, double& r;) :x(x), y(y), r(r), PI(3.4) { Melyik y? Van már this? class FixKor :public Pont { double& r; static const double PI; const double Kor::PI = 3.4; // statikus tag, létre kell hozni C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I Öröklés és polimorfizmus struct A { void valami() { cout << "A valami" << endl; void semmi() { cout << "A semmi" << endl; struct B: public A{ void valami() { cout << "B valami" << endl; void valami(int) { cout << "B valami int" << endl; B b; b.valami(); // B valami b.valami(); // B valami(int) b.semmi(); // A semmi b.a::valami(); // A valami b.a::valami(int) // HIBA Mutatókonverzió örökléskor Mutatókonverzió = rejtett objektumkonverzió Kompatibilitás: öröklés kompatibilis memóriakép kompatibilis viselkedés (tagfüggvények) class Base {. class PublicDerived : public Base {. class PrivateDerived: private Base {. C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I
3 Base * pb viselkedés kompatibilis? Konverzió alaposztályra alap új rész PublicDerived vagy PrivateDerived memóriakép kompatibilis PublicDerived pubd; // pubd kaphatja a Base üzeneteit Base * pb = &pubd; // nem kell explicit típuskonverzió PrivateDerived prid;// prid nem érti a Base üzeneteit pb = (Base *)&prid;// mégis érti explicit konverzió! C++ programozási nyelv BME-IIT Sz.I Konverzió származtatott osztályra Derived * pd viselkedés NEM kompatibilis alap új rész Base memóriakép NEM kompatibilis Base base; Derived *pd = (Derived *) &base; // nem létező adatmezőket és üzeneteket el lehet érni // veszély: explicit konverzió C++ programozási nyelv BME-IIT Sz.I Mutatókonverzió és virtuális fv. class Alakzat { virtual void rajzol() = ; class Vonal : public Alakzat { class Kor : public Alakzat { class Teglalap : public Alakzat { Alakzat* tar[]; tar[] = new Vonal(.); // konverzió tar[] = new Kor(); // konverzió. for (int i = ; i < ; i++ ) tar[i] ->rajzol(); Származtatott osztály függvénye Heterogén gyűjtemények Különböző típusú objektumokat egy közös gyűjteménybe tesszük Egységes kezelés: valamilyen viselkedési kompatibilitás egy öröklési hierarchiából definiált objektumokat tehetünk heterogén szerkezetbe kompatibilitásból származó előnyök (pl. alaposztály pointere) kihasználása C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I Heterogén kollekció példa Eseménykezelő megvalósítása Egy rendszer eseményeit kell naplózni. Az események egymástól eltérő adattartamúak, és esetleg új események is lesznek, amit még nem ismerünk. Események sorrendje fontos, ezért célszerűen egy tárolóban kell lenniük. Az eseménynapló megnézésekor meg kell mutatni azt is, hogy mely eseményeket néztük meg már korábban. Event * checked show( ) Event Event.... show( ) show( ) EventList add( ), list( )... Még nem ismerjük, de nem is kell! C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I
4 Eseménykezelő megvalósítása/ class Event { bool checked; Event ( ) :checked(false) { virtual void show( ) { cout<<" Checked: "; cout<<checked<<endl; checked = true; class Event :public Event { Hurok? Event(); void show ( ) { cout <<. ; Event::show(); Eseménykezelő megvalósítása/3 class EventList { int nevent; Event *events[]; EventList( ) { nevent = ; void add(event& e) { events[nevent++] = &e; void add(event *e) { events[nevent++] = e; void list( ) { for (int i = ; i < nevent; i++) events[i]->show(); Származtatott osztály függvénye Alaposztály mutatója Nem célszerű mind a két fajta add()! C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I Eseménykezelő használata class Event { class Event :public Event { class Event :public Event { class EventList { EventList list; list.add(new Event(.)); list.add(new Event(.)); list.add(new Event9(.)); Event e; list.add(e); list.list(); Ez másik add()! (ref) Új esemény: csupán definiálni kell az új osztályt Heterogén kollekció összefoglalás Különböző típusú objektumokat egy közös gyűjteménybe tesszük. Kihasználjuk az öröklésből adódó kompatibilitást. Nagyon gyakran alkalmazzuk könnyen bővíthető, módosítható, karbantartható C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I Tipikus hiba class EventList { Nem pointert tárol! int nevent; Event events[]; EventList( ) { nevent = ; void add(event& e) { events[nevent++] = e; void add(event* e) { events[nevent++] = *e; void list( ) { for (int i = ; i < nevent; i++) events[i].show(); Event::show() Adavesztés!! A származtatott rész elveszik! C++ programozási nyelv BME-IIT Sz.I Ki szabadít fel? class EventList { int nevent; Event *events[];. void add(event* e) { events[nevent++] = e; void list( ) { for (int i = ; i < nevent; i++) events[i]->show(); ~EventList() { for (int i = ; i < nevent; i++) delete events[i]; // events[i]->~event();. Virtuális kell! list.add(new Event(.)); C++ programozási nyelv BME-IIT Sz.I
5 Virtuális destruktor újból Digitális áramkör modellezése class Event { virtual void show( ) { ; virtual ~Event() { ; Event *ep = new Event(); delete ep; class Event :public Event { int *p; Event(int s) { p = new int[s];. ~Event() { delete[] p; Más, mint a többi virt. fv. Digitális jel: üzenet Áramköri elemek: objektumok bemenet, kimenet, viselkedés (f(x)) kapcsoló, kapu, drót, forrás, csomópont Objektumok a valós jelterjedésnek megfelelően egymáshoz kapcsolódnak. (üzennek egymásnak) Visszacsatolás megengedett. C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I Bemenetek Modell f(x) Visszacsatolás Kimenetek A változásokat üzenetek továbbítják. Ha nincs változás, nem küldünk újabb üzenetet. Csak véges számú iterációt engedünk meg. Áramköri elemek felelőssége Kapcsolatok (bemenet/kimenet) kialakítása, nyilvántartása. Bejövő üzenetek tárolása összehasonlítás céljából. Válaszüzenetek előállítása és továbbítása a bejövő üzeneteknek és a működésnek megfelelően. C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I Osztályhierarchia Obj Conn Drot Csp NAND S_R_FF Forras Obj: alaposztály A különböző objektumok ősosztálya. minden áramköri elem ebből származik Lehetővé teszi ill. támogatja: az objektumok közötti kapcsolatok kialakítását, (a Conn osztályból felépített dinamikus tömbben tároljuk a kapcsolatokat) kapcsolatokon keresztül az üzenetek ( objektum) továbbítását, a működést (viselkedést) megvalósító függvény elérését (a Set virtuális függvényen keresztül). C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I
6 Obj: absztrakt alaposztály class Obj { char nev[]; // objektum neve Pin nk; // kapcsolódási pontok száma Conn *konn; // kapcsolatok leírása Obj(const Obj&) { // hogy ne lehessen használni Obj& operator=(const Obj&) { // hogy ne lehessen haszn. Obj(char *n, Pin k) {setnev(n); konn = new Conn[nk = k]; ~Obj() { delete[] konn; // tömb felszab. void setnev(char *n) { strcpy(nev, n); // név beállítása void setconn(pin k, Obj& o, Pin on); // összekapcs. void uzen(pin k, & msg); // üzen virtual void set(pin n, & msg) = ; //működtet C++ programozási nyelv BME-IIT Sz.I Conn: kapcsolatok tárolása Egy objektumkapcsolatot leíró osztály Példányaiból felépített dinamikus tömb (Obj::konn) írja le egy objektum összes kapcsolatát Miért nem referencia? class Conn { Obj *obj; // ezen objektumhoz kapcsolódik Pin n; // erre a pontra Conn() :obj(null) { void setconn(pin k, Obj& o) { n = k; obj = &o; // beállít Obj *getconn(pin& k) { k = n; return(obj); // lekérdez C++ programozási nyelv BME-IIT Sz.I : jel mint üzenet Digitális jelet reprezentáló osztály undef, jel és jel értéke van. A végtelen iteráció elkerülése végett a jelszint mellet egy iterációs számláló is van. Megvalósítása struktúrával, mivel az adattakarás csak nehezítene. Műveletei: msg == msg msg!= msg --msg : jel mint üzenet / struct { enum msgt { undef, jel typ; // típus bool J; // jelszint v. int c; // iterációs számláló // default konstruktor is (msgt t = undef, bool j = false, int n = ) :typ(t), J(j), c(n) { // két üzenet egyenlő, ha az típusuk és jelszintjük is azonos bool operator==(& m) { return(typ == m.typ && J == m.j); bool operator!=(& m) { return(!operator==(m)); & operator--() { if (--c <= ) // iterációs számláló csökkentése throw "Sok Iteracio!"; return(*this); C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I Üzenet továbbítása Drót obj. modellje /** * Üzenet (msg) küldése a k. pontra kapcsolódó obj. felé */ void Obj::uzen(Pin k, & msg) { Pin n; // kapcsolodó objektum kapcs. pontja if (k >= nk) throw "Uzenet hiba"; // hiba, nincs ilyen végpont if (Obj *o = konn[k].getconn(n)) { o->set(n, --msg); // szomszéd működtető függvénye Obj nev, pin, konn setnev(), setconn(), uzen(), Drot veg[] Conn obj, n setconn(), getconn() J, c ==(),!=() --() C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I
7 Drót classdrot:publicobj{ protected: // megengedjük a származtatottnak veg[]; // két vége van, itt tároljuk az üzeneteket Drot(char *n = "") : Obj(n, ) { // végű obj. létrehozása void set(pin n, & msg); // működtet void Drot::set(Pin n, & msg) { if (veg[n]!= msg) { // ha változott veg[n] = msg; // megjegyezzük és uzen(n^, msg); // elküldjük a másik végére (vezet) C++ programozási nyelv BME-IIT Sz.I Csomópont class Csp :public Obj { protected: // megengedjük a származtatottnak veg[3]; // három vége van, itt tároljuk az üzeneteket Csp(char *n = "") : Obj(n, 3) { // 3 végű obj. létrehozása void set(pin n, & msg); // működtet void Csp::set(Pin n, & msg) { if (veg[n]!= msg) { // ha változott veg[n] = msg; // megjegyezzük és uzen((n+)%3, msg); // elküldjük a másik végére uzen((n+)%3, msg); C++ programozási nyelv BME-IIT Sz.I Kapcsoló class Kapcsolo :public Drot { // Drótból int be; // állapot Kapcsolo(char *n = "") : Drot(n), be() { void set(pin n, & msg); jel, false, lehetne undef void kikap() { be = ; uzen(, (::jel)); uzen(, (::jel)); void bekap() { be = ; uzen(, veg[]); uzen(, veg[]); void Kapcsolo::set(Pin n, & msg) { if (be) Drot::set(n, msg); // be van kapcsolva, drótként viselk. else veg[n] = msg; // ki van kapcsolva, csak megjegyezzük NAND kapu class NAND :public Obj { veg[3]; // három "vége" van NAND(char *n = "") : Obj(n, 3) { // 3 végű obj. létreh. void set(pin n, & msg); // működtet const & get() { return(veg[]); // kim. lekérdezése void NAND::set(Pin n, & msg) { if (n!= && veg[n]!= msg) { // ha változott bemenet veg[n] = msg; // megjegyezzük uzen(, veg[] = (::jel,!(veg[].j * veg[].j), msg.c)); // üzenünk a kimeneten kimenet előállítása ciklusszám marad C++ programozási nyelv BME-IIT Sz.I C++ programozási nyelv BME-IIT Sz.I S_ () R_ () N N Q () Q_ (3) S_-R_ tároló class S_R_FF :public Obj { protected: veg[4]; // négy "vége" van NAND N[]; // két db NAND kapu, komponens S_R_FF(char *n) : Obj(n, 4) { N[].setConn(, N[], ); // összekötések létrehozása N[].setConn(, N[], ); void set(pin n, &msg); // működtet const & get(int i) { // kimenet lekérdezése if (i >= ) i = ; return(veg[i+]); C++ programozási nyelv BME-IIT Sz.I S_ () R_ () S_-R_ tároló / N N void S_R_FF::set(Pin n, &msg) { if (n < && veg[n]!= msg) { // ha input és változott, veg[n] = msg; // letárolja N[n].set(, msg); // megfelelő bemenetre küldi uzen(, veg[] = N[].get()); // üzen a kimeneten uzen(3, veg[3] = N[].get()); // üzen a kimeneten C++ programozási nyelv BME-IIT Sz.I Q () Q_ (3)
8 Szimulátorunk próbája Kapcsolo K("K"), K("K"); Forras F("F"), F("F"); S_R_FF FF("FF"); try { F.setConn(, K, ); FF.setConn(, K, ); F.setConn(, K, ); FF.setConn(, K, ); F F F.init(); F.init(); K.bekap(); K.bekap(); cerr << FF.get().J << FF.get().J << FF.get().J << FF.get(3).J << endl; K.kikap(); cerr << FF.get().J << FF.get().J << FF.get().J << FF.get(3).J << endl; K.bekap(); cerr << FF.get().J << FF.get().J << FF.get().J << FF.get(3).J << endl; K.kikap(); cerr << FF.get().J << FF.get().J << FF.get().J << FF.get(3).J << endl; catch (const char *s) { cerr << s << endl; K FF K C++ programozási nyelv BME-IIT Sz.I
Programozás alapjai II. (5. ea) C++
Programozás alapjai II. (5. ea) C++ mutatókonverziók, heterogén kollekció Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.03.21. - 1 - Öröklés
RészletesebbenProgramozás alapjai II. (6. ea) C++
Programozás alapjai II. (6. ea) C++ mutatókonverziók, heterogén kollekció Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2018.03.13.
RészletesebbenProgramozás alapjai II. (6. ea) C++
Programozás alapjai II. (6. ea) C++ mutatókonverziók, heterogén kollekció Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2018.03.13.
RészletesebbenProgramozás alapjai II. (5. ea) C++
Programozás alapjai II. (5. ea) C++ mutatókonverziók, heterogén kollekció Szeberényi Imre BME IIT Öröklés (ismétlés) Egy osztályból olyan újabb osztályokat származtatunk, amelyek rendelkeznek
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é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észletesebbenProgramozás alapjai II. (5. ea) C++
Programozás alapjai II. (5. ea) C++ analitikus és korlátozó öröklés 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.03.8. -1 - OO modellezés
RészletesebbenProgramozás alapjai II. (5. ea) C++
Programozás alapjai II. (5. ea) C++ analitikus és korlátozó öröklés 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.03.8. -1 - OO modellezés
RészletesebbenProgramozás alapjai II. (4. ea) C++
Programozás alapjai II. (4. ea) C++ analitikus és korlátozó öröklés Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.03.08. - 1 - OO modellezés
RészletesebbenProgramozás alapjai II. (4. ea) C++
OO modellezés fogalmai újból Programozás alapjai II. (4. ea) C++ analitikus és korlátozó öröklés Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I.
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észletesebbenC++ programozási nyelv Konstruktorok-destruktorok
C++ programozási nyelv Konstruktorok-destruktorok Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
Ré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 alapjai II. (5. ea) C++ Objektummodell, öröklés, virtuális tagfüggvény
Programozás alapjai II. (5. ea) C++ Objektummodell, öröklés, virtuális tagfüggvény Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I.
RészletesebbenProgramozás alapjai II. (4. ea) C++
Programozás alapjai II. (4. ea) C++ analitikus és korlátozó öröklés Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2017.02.28. - 1 - OO modellezés
RészletesebbenProgramozás alapjai II. (4. ea) C++
OO modellezés fogalmai újból Programozás alapjai II. (4. ea) C++ analitikus és korlátozó öröklés Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I.
RészletesebbenProgramozás alapjai II. (4. ea) C++
Programozás alapjai II. (4. ea) C++ konstruktor és értékadás, dinamikus szerkezetek 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.03.01. -1-
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 alapjai II. (5. ea) C++ Objektummodell, öröklés, virtuális tagfüggvény
Programozás alapjai II. (5. ea) C++ Objektummodell, öröklés, virtuális tagfüggvény Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I.
RészletesebbenProgramozás II. 3. gyakorlat Objektum Orientáltság C++-ban
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus
Ré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é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észletesebben1. Öröklés Rétegelés Nyilvános öröklés - isa reláció Korlátozó öröklődés - has-a reláció
1. Öröklés Az objektum orientált tervezés fontos sarkköve, az osztályok viszonyainak a megtervezése. 1.1. Rétegelés c l a s s Address {..... c l a s s Name {..... c l a s s P e r s o n { Name name ; Address
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észletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
Ré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é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, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2019.04.09.
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, Somogyi Péter BME IIT Egy osztályból olyan újabb osztályokat származtatunk,
Részletesebbenosztá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észletesebbenVirtuális függvények (late binding)
Virtuális függvények (late binding) Miskolci Egyetem Általános Informatikai Tanszék Virtuális függvények CPP5 / 1 Azonos nevű függvények megkülönböztetése paraméterszignatúra (függvény overloading) - egy
RészletesebbenProgramozás alapjai II. (4. ea) C++
Programozás alapjai II. (4. ea) C++ konstruktor és értékadás, dinamikus szerkezetek Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I.
RészletesebbenProgramozás alapjai II. (4. ea) C++
Programozás alapjai II. (4. ea) C++ konstruktor és értékadás, dinamikus szerkezetek Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I.
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é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észletesebbenProgramozás alapjai II. (2. ea) C++
Programozás alapjai II. (2. ea) C++ OO paradigmák, osztály, operátorok átdefiniálása Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.02.23.
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é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é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észletesebbenMit ír ki? feladatok megoldásokkal
Mit ír ki? feladatok megoldásokkal A feladatgyűjtemény 2006 és 2015 között ZH feladatként kiadott C++ feladatokat és megoldásukat tartalmazza. A megoldásokat sárga kiemeléssel jelöltük. Tartalomjegyzék
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é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é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észletesebben1.AA MEGOLDÓ BERCI AA 1.
Programozás alapjai 2. (inf.) 2. zárthelyi 2015.05.07. gyak./lab. hiányzás: 3/2 Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot, de csak a feladatlapra írt megoldásokat
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észletesebbenProgramozás alapjai II. (3. ea) C++ Programfejlesztés. Néhány programozási módszer. Feladatanalízis. Modellezés Tervezés. Implementáció (programozás)
Programozás alapjai II. (3. ea) C++ OO paradigmák, osztály, operátorok átdefiniálása 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.02.22.
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 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észletesebben1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"
RészletesebbenJava é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észletesebbenProgramozás alapjai II. (2. ea) C++ Programfejlesztés. Néhány programozási módszer. Feladatanalízis. Modellezés Tervezés. Implementáció (programozás)
Programozás alapjai II. (2. ea) C++ OO paradigmák, osztály, operátorok átdefiniálása Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.02.23.
RészletesebbenProgramfejlesztés. Programozás alapjai II. (3. ea) C++ Néhány programozási módszer. Korai szoftverkészítés jellemzői. Gépi nyelv? Strukturált tervezés
Programozás alapjai II. (3. ea) C++ OO paradigmák, osztály, operátorok átdefiniálása Szeberényi Imre BME IIT Programfejlesztés Feladatanalízis világ = dolgok + tevékenységek Modellezés
RészletesebbenProgramozás alapjai II. (8. ea) C++ többszörös öröklés, cast, perzisztencia
Programozás alapjai II. (8. ea) C++ többszörös öröklés, cast, perzisztencia Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.12. - 1 - Öröklés
RészletesebbenProgramozás alapjai II. (8. ea) C++ többszörös öröklés, cast, perzisztencia
Öröklés ism. Programozás alapjai II. (8. 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ályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;
PHP5 objektumok 1 Osztályok class, new book.php: construct () destruct() $b=new Book(); törlés: $b=null; vagy unset ($b); -elnevezési konvenciók private $isbn; public $title; function
Részletesebben0. Megoldó Manó 0. Programozás alapjai 2. (inf.) pót zárthelyi gyak. hiányzás: 2 n/kzhp: n/11,5. ABCDEF IB.028/2.
Programozás alapjai 2. (inf.) pót zárthelyi 2014.05.22. gyak. hiányzás: 2 n/kzhp: n/11,5 ABCDEF IB.028/2. Hftest: 4 (2,4p) Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot,
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észletesebbenProgramozás alapjai II. (2. ea) C++
Programozás alapjai II. (2. ea) C++ C++ kialakulása, nem OOP újdonságok: 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.02.15. -1- C++ kialakulása
RészletesebbenProgramozás alapjai II. (2. ea) C++
Programozás alapjai II. (2. ea) C++ C++ kialakulása, nem OOP ú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észletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
Ré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é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é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. április 8. Csak bázisosztályként használt/értelmezhető
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é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észletesebbenProgramozás alapjai II. (2. ea) C++ Programfejlesztés. Néhány programozási módszer. Feladatanalízis. Modellezés Tervezés. Implementáció (programozás)
Programozás alapjai II. (2. ea) C++ OO paradigmák, osztály, operátorok átdefiniálása Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2017.02.14.
RészletesebbenGenerikus Típusok, Kollekciók
Generikus Típusok, Kollekciók Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Generikus Típusok, Kollekciók 2013 1 / 26 Tartalomjegyzék 1 Enumeráció 2 Generikus Típusok 3 Kollekciók System.Collections
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észletesebbenProgramozás. Osztályok, Származtatott osztályok. Fodor Attila
Programozás Osztályok, Származtatott osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. március 11. Beadandó feladat
Ré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é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észletesebbenObjektumelvű alkalmazások fejlesztése 6. gyakorlat. Öröklődés, polimorfizmus. Öröklődés Kódismétlődés objektum-orientált szerkezetben
Eötvös Loránd Tudományegyetem Informatikai Kar Objektumelvű alkalmazások fejlesztése 6. gyakorlat, polimorfizmus 2011.10.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Kódismétlődés
Részletesebben.AA Megoldó Alfréd AA.
Programozás alapjai 2. (inf.) pót zárthelyi 2013.05.23. gyak. hiányzás: kzh: ZH:0 ABCDEF MEG/200. Hftest: (p) Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
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észletesebbenKivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat
Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot
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é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]++;
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észletesebbenJava programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
RészletesebbenÖröklés és Polimorfizmus
Öröklés és Polimorfizmus Egy létező osztályból egy (vagy több) újat készítünk A létező osztályt ősnek, az újakat utódnak nevezzük Az utódok öröklik az ős minden tagját Az utódok az öröklött tagokat újakkal
RészletesebbenBevezetés a programozásba előadás: Öröklődés
Bevezetés a programozásba 2 5. előadás: Öröklődés emlékeztető Tagfüggvény struct koord { double x,y,r; void set(double ux, double uy) { x=ux; y=uy; r=sqrt(x*x+y*y); } Használat: koord k; k.set(4,5); Egységbezárás
RészletesebbenProgramozás alapjai II. (3. ea) C++
Programozás alapjai II. (3. ea) C++ OO paradigmák, osztály, operátorok átdefiniálása Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I.
RészletesebbenC# 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észletesebben1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
RészletesebbenProgramozás alapjai II. (8. ea) C++ bejárók és egy tervezési példa
Programozás alapjai II. (8. ea) C++ bejárók és egy tervezési példa Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2018.03.27. -
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észletesebbenGlobális operátor overloading
Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal
Ré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é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é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é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észletesebbenC++ programozási nyelv
C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok
Ré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észletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked
RészletesebbenJAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
Részletesebben1. Bevezetés A C++ nem objektumorientált újdonságai 3
Előszó xiii 1. Bevezetés 1 2. A C++ nem objektumorientált újdonságai 3 2.1. A C és a C++ nyelv 3 2.1.1. Függvényparaméterek és visszatérési érték 3 2.1.2. A main függvény 4 2.1.3. A bool típus 4 2.1.4.
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
RészletesebbenJAVA PROGRAMOZÁS 3.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 33
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenC++ programozási nyelv Konstruktorok Gyakorlat
C++ programozási nyelv Konstruktorok Gyakorlat Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A C++ programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
Részletesebben