Programozás alapjai II. (11. ea) C++
|
|
- Ádám Farkas
- 6 évvel ezelőtt
- Látták:
Átírás
1 Programozás alapjai II. (11. ea) C++ STL algoritmusok Szeberényi Imre, Somogyi Péter BME IIT M Ű E G Y E T E M C++ programozási nyelv BME-IIT Sz.I
2 Előző óra összefoglalása Kivételkezelés működés részletei, hatása az objektumok élettartamára Konstruktorban, destruktorban Létrehozás/megsemmisítés működésének felhasználása (pl. fájlkezelés, zárolás) STL bevezető (tárolók) C++ programozási nyelv BME-IIT Sz.I
3 Létrehozás/megsemm. példa // Halak és cápák példában tudni szeretnénk a halak számát: class Halor { static int darab; // darabszám nyilvántartása. public: // Új példány jön létre, növel Halor() { darab++; // Darabszám lekérdezése static int getdarab() { return darab; // Példány megszűnik virtual ~Halor() { darab--; ; int Halor::darab = 0; class Hal : public Obj, Halor {... ;... std::cout << Halor::getDarab(); C++ programozási nyelv BME-IIT Sz.I
4 STL tárolók összefoglalása A tárolók nem csak tárolják, hanem "birtokolják is az elemeket" elemek létrehozása/megszüntetése/másolása Két fajta STL tároló van: Sorozat tárolók (vector, list, deque) A programozó határozza meg a sorrendet: Asszociatív tárolók (set, multiset, map, multimap) A tároló határozza meg a tárolt sorrendet Az elemek egy kulccsal érhetők el. C++ programozási nyelv BME-IIT Sz.I
5 STL tárolók összefoglalása /2 vector<t, Alloc> list<t, Alloc> deque<t, Alloc> map<key, T, Cmp, Alloc> set<key, Cmp, Alloc> stack<t, deque> queue<t, deque> priority_queue<t, vector, Cmp> C++ programozási nyelv BME-IIT Sz.I
6 Tárolók fontosabb műveletei C++ programozási nyelv BME-IIT Sz.I
7 Ma Adapter tervezési minta (ism.) STL algoritmusok Korábbi példa továbbfejlesztése STL tároló használata STL iterátor használata Egy tipikus viselkedési minta és megvalósítása Observer C++ programozási nyelv BME-IIT Sz.I
8 std::vektor labor::array labor::array (9. labor, /gen_array_iter3/): fix méretű (maxsize) van aktuális mérete (siz) van at(), de nyújtja a tömböt (maxsize-ig) nincs operator[] van iterátora (iterator) konstruktorai a konténereknél megszokottak van operator= std::vector: minden van, de nem nyújtja a tömböt az at(), de dinamikusan képes növekedni (push_back) C++ programozási nyelv BME-IIT Sz.I
9 Egy lehetséges megvalósítás #1 template <typename T, size_t maxsiz = 6> struct Array : public std::vector<t> { Array(size_t n = 0, const T& value = T()) :std::vector<t>::vector(n, value) { template <class Iter> Array(Iter first, Iter last) :std::vector<t>::vector(first, last) { T& at(size_t i) { if (i < maxsiz && i >= std::vector<t>::size()) std::vector<t>::resize(i+1); return std::vector<t>::at(i); const T& at(size_t i) const { return std::vector<t>::at(i); C++ programozási nyelv BME-IIT Sz.I
10 Egy lehetséges megvalósítás #2 private: T& operator[](size_t i); const T& operator[](size_t i) const {... ; std::vector minden tagfüggvénye az öröklés révén publikálva, a nem megfelelőeket módosított működéssel megvalósítottuk. Ha nem jó, lehet privát örökléssel is, ekkor minden fv-hez kell interfész. Szóba jöhet még a tartalmazás (delegálás) is. C++ programozási nyelv BME-IIT Sz.I
11 Delegálással (tartalmazással) #1 template <typename T, size_t maxsiz = 6> class Array { std::vector<t> vec; public: Array(size_t n = 0, const T& value = T()) : vec(n, value) { template <class Iter> Array(Iter first, Iter last) : vec(first, last) { T& at(size_t i) { if (i < maxsiz && i >= vec.size()) vec.resize(i+1); return vec.at(i); const T& at(size_t i) const { return vec.at(i); C++ programozási nyelv BME-IIT Sz.I
12 Delegálással (tartalmazással) #2 size_t size() const { return vec.size() ; size_t capacity() const { return vec.capacity() ;... typedef typename std::vector<t>::iterator itarator; iterator begin(); iterator end(); ; C++ programozási nyelv BME-IIT Sz.I
13 Apróbb működési különbségek #1 template <typename T, size_t maxsiz = 6> struct Array : public std::vector<t> { Array(size_t n = 0, const T& value = T()) :std::vector<t>::vector(n, value) { // nagyobb lehet maxsiz-nél // nincs maxsiz-ig lefoglalva // modosítás: Array(size_t n = 0, const T& value = T()) :std::vector<t>::vector(std::min(n,maxsiz), value) { std::vector<t>::reserve(maxsiz); C++ programozási nyelv BME-IIT Sz.I
14 Apróbb működési különbségek #2 template <typename T, size_t maxsiz = 6> template <class Iter> Array(Iter first, Iter last) :std::vector<t>::vector(first, last) { // nagyobb lehet maxsiz-nél // nincs maxsiz-ig lefoglalva // modosítás: template <class Iter> Array(Iter first, Iter last) :std::vector<t>::vector(first, last) { if (std::vector<t>::size() > maxsiz) std::vector<t>::resize(maxsiz); else std::vector<t>::reserve(maxsiz); C++ programozási nyelv BME-IIT Sz.I
15 Algoritmusok <algorithm> Nem módosító sorozatműveletek Sorozatmódosító műveletek Rendezés, rendezett sorozatok műveletei Halmazműveletek Kupacműveletek Mimimum, maximum Permutációk C++ programozási nyelv BME-IIT Sz.I
16 Nem módosító műv. for_each(first, last, fn) find(first, last, val), find_if(first, last, un_pred) find_end(f1, l1, f2, l2, un_pred), find_first_of(f1, l1, f2, l2, un_pred), adjacent_find(first, last, bin_pred) count(first, last) count_if(first, last, un_pred) mismatch(f1, l1, f2, l2, bin_pred) // ret: pair equal(f1, l1, l2, bin_pred) search(f1, l1, f2, l2, bin_pred) search_n(f, l, count, val, bin_pred) C++ programozási nyelv BME-IIT Sz.I
17 1. Példa: count_if template <class InpIterator, class UnPredicate > prtdiff_t count_if(inpiterator first, InpIterator last, UnPredicate pred ) { prtdiff_t ret = 0; while (first!= last) if (pred(*first++)) ++ret; return ret; int v[] = {11, 2, 3, 32, 21, 15 ; bool IsOdd(int i) { return ((i%2)==1); cout << count_if (v, v+6, IsOdd); // az int* is iterator! C++ programozási nyelv BME-IIT Sz.I
18 2. Példa: adjacent_find template <class FwIterator, class BinPredicate > FwIterator adjacent_find(fwiterator first, FwIterator last, BinPredicate pred ) { if (first!= last) { FwIterator next=first; ++next; while (next!= last) if (pred(*first++, *next++)) return first; return last; C++ programozási nyelv BME-IIT Sz.I
19 3. Példa: mismatch template <class Iter1, class Iter2, class BinPred> pair<iter1, Iter2> mismatch(iter1 first1, Iter1 last1, Iter2 first2, BinPred pred) { while (first1!= last1) { if (!pred(*first1,*first2)) break; ++first1; ++first2; return make_pair(first1, first2); C++ programozási nyelv BME-IIT Sz.I
20 Sorozat módosító műv. copy() copy_backward() swap(), iter_swap() swap_ranges() replace() replace_if() replace_copy() replace_copy_if() fill(), fill_n() generate() generate_n() partition() stable_partition() remove() remove_if() remove_copy() remove_copy_if() unique() unique_copy_if() reverse() reverse_copy() rotate(), rotate_copy() random_shuffle() transform() C++ programozási nyelv BME-IIT Sz.I
21 Rendezés, rend.sor. műv., halmaz sort(), stable_sort(), partial_sort() partial_sort_copy() nth_element() lower_bound(), upper_bound() equal_range() binary_search() merge() inplace_merge() includes() set_union(), set_intersection(), set_difference() set_symmetric_difference() C++ programozási nyelv BME-IIT Sz.I
22 Kupac, min, max, permut. make_heap() push_heap() pop_heap() sort_heap() min(), max() min_element(), max_element() lexicographical_compare() next_permutation() prev_permutation() C++ programozási nyelv BME-IIT Sz.I
23 4. példa int v[] = {10,20,30,30,20,10,10,20; int *ip = adjacent_find (v, v+8); // a pointer is iterator! vector<int> iv(v, v+8); vector<int>::iterator it; it = adjacent_find(iv.begin(), iv.end()); // első ismétlődés it = adjacent_find(++it, iv.end()); // második ism. it = adjacent_find(iv.begin(), iv.end(), greater<int>()); predikátum C++ programozási nyelv BME-IIT Sz.I
24 Függvényobjektumok <functional> unary_function, binary_function template <class Arg, class Result> struct unary_function { typedef Arg argument_type; typedef Result result_type; ; struct Valami : public unary_function<int, bool> {... ;... Valami::argument_type... Valami::result_type C++17-től megszűnik helyette function template és lambda C++ programozási nyelv BME-IIT Sz.I
25 Predikátumok és aritm. műv. equal_to, not_equal_to, greater, less, greater_equal, less_equal logical_and, logical_or logical_not plus minus multiplies divides modulus negate C++ programozási nyelv BME-IIT Sz.I
26 Lekötők, átalakítók bind2nd() bind1st() mem_fun() mem_fun_ref() prt_fun() not1() not2() binder1st binder2nd mem_fun1_ref_t mem_fun1_t mem_fun_ref_t mem_fun_t unary_negate binary_negate C++17-től megszűnik helyette bind és lambda C++ programozási nyelv BME-IIT Sz.I
27 5. példa int v[] = {10,20,30,30,20,10,10,20; predikátum cout << count_if(v, v+8, bind2nd(less<int>(), 11)); lekötő hasonlító függvény C++17-től megszűnik helyette bind és lambda C++ programozási nyelv BME-IIT Sz.I
28 6. példa bool odd(int i) { return i&1;... int v[] = {10,20,15,35,92; vector<int> iv(v, v+5); make_heap(iv.begin(), iv.end()); print(iv); // 92, 35, 15, 10, 20, sort_heap(iv.begin(), iv.end()); print(iv); // 10, 15, 20, 35, 92, Print template vector<int>::iterator it = remove_if(iv.begin(), iv.end(), odd); iv.erase(it, iv.end()); print(iv); // 10, 20, 92, C++ programozási nyelv BME-IIT Sz.I
29 7. példa int pow(int i) { return i*i;... int v[] = {1,2,5,7,10; vector<int> iv(v, v+5); transform(iv.begin(), iv.end(), iv.begin(), pow); print(iv); // 1, 4, 25, 49, 100, iv.pop_back(); iv.pop_back(); do { print(iv); 1, 4, 25, 1, 25, 4, 4, 1, 25, 4, 25, 1, 25, 1, 4, 25, 4, 1, while (next_permutation(iv.begin(), iv.end())); C++ programozási nyelv BME-IIT Sz.I
30 8. példa: Szavak gyakorisága // Szavakat olvasunk, de eldobjuk a számjegyeket bool isdigit(char ch) { return isdigit(ch)!= 0; map<string, int> szamlalo; string szo; while (cin >> szo) { string::iterator vege = remove_if(szo.begin(), szo.end(), isdigit); szo.erase(vege, szo.end()); if (!szo.empty()) szamlalo[szo] += 1; C++ programozási nyelv BME-IIT Sz.I
31 Szavak gyakorisága /2 // Kiírjuk a szavakat és az előfordulási számot. // Betesszük egy vektorba a szavakat. // A map miatt rendezett. vector<string> szavak; cout << "Szavak gyakorisaga:" << endl; for (map<string, int>::iterator it = szamlalo.begin(); it!= szamlalo.end(); it++) { cout << it->first << ": " << it->second << endl; szavak.push_back(it->first); C++ programozási nyelv BME-IIT Sz.I
32 Szavak gyakorisága /3 // Kiírjuk a szavakat a vektorból. // Fordítva is lerendezzük. cout << "Szavak rendezve:" << endl; ostream_iterator<string> out_it(cout, ","); copy(szavak.begin(), szavak.end(), out_it); cout << endl << "Szavak forditva:" << endl; sort(szavak.begin(), szavak.end(), greater<string>()); copy(szavak.begin(), szavak.end(), out_it); C++ programozási nyelv BME-IIT Sz.I
33 Működés leírása A statikus modell önmagában nem elegendő Ocean cellak[n][m] lep Obj nev, meret, iter, ittaveg lep Viz Hal kor lep Capa kor nemevett lep C++ programozási nyelv BME-IIT Sz.I
34 Ocean::lep() /// Egy iterációs lépés void Ocean::lep() { iter++; for (int i = 0; i < MaxN; i++) for (int j = 0; j < MaxM; j++) { Koord pos(i,j); cellak[i][j]->lep(pos, *this, iter); // hullák begyűjtése if (cellak[i][j]->is_vege()) replobj(pos, new Viz); // Objektum törlése és pointer átírása void Ocean::replObj(Koord& pos, Obj* o) { delete cellak[pos.i][pos.j]; cellak[pos.i][pos.j] = o; C++ programozási nyelv BME-IIT Sz.I
35 Szekvenciadiagram Koord pos(i,j); cellak[i][j]->lep(pos, *this, iter); if (cellak[i][j]->is_vege()) replobj(pos, new Viz); Objektumok közötti üzenetváltások időbeli lefolyását szemlélteti. Idő sd lépés_ocean Client lep() atlanti: Ocean <<create>> pos : Koord cella : Hal üzenet lep(pos, atlanti, iter) válasz is_vege() vege feltétel opt [ vege] <<create>> replobj(pos, viz) <<destroy>> viz: Viz megszűnik C++ programozási nyelv BME-IIT Sz.I
36 Hal::lep() /// Hal viselkedése void Hal::lep(const Koord& pos, Ocean& oc, int it){ if (iter >= it) return; iter = it; kor++; Koord ujpos = keres(pos, oc); if (oc.ervenyes(ujpos)) { oc.replobj(ujpos, this); Obj* o; if (kor > halszapkor) o = new Hal(*this); else o = new Viz; oc.setobj(pos, o); C++ programozási nyelv BME-IIT Sz.I
37 Hal::lep() szekvenciadiagramja Idő sd lépés_hal atlanti : Ocean pos : Koord cella : Hal viz: Viz lep(pos, atlanti, iter) opt [ iter < it ] erv eny es(ujpos) ujpos= keres() erv opt [ erv ] <<destroy >> replaceobj(ujpos, cella) alt [ kor> halszapkor] setobj(hal) <<create>> hal: Hal <<create>> viz2 : Viz 10 : setobj(viz2) C++ programozási nyelv BME-IIT Sz.I
38 Cápali és Cápeti C++ programozási nyelv BME-IIT Sz.I
39 Feladat Egészítsük ki a korábbi modellünket: Az állatvédők tudni akarják, hogy mekkora utat tesz meg élete során Cápeti, a cápa. A tengerbiológusok tudni akarják, hogy hányszor szaporodik Cápeti. Dokumentum film készül Cápeti útjáról. Kérdések: Tegyünk 3 jeladót Cápeti nyakába? 1 jeladó jelezzen mindenkinek? C++ programozási nyelv BME-IIT Sz.I
40 Observer terv. minta Observer -subjptr +update( ) Subject -obsptr[] +attach() +detach() +notify() ConcreteObs1 +update( ) ConcreteObs2 +update( ) ConcreteSubj C++ programozási nyelv BME-IIT Sz.I
41 Subject osztály class Subject { set<observer*> obs; // observerek pointere public: void attach(observer* os); void detach(observer* os); void notify(int reason); virtual ~Subject(); ; C++ programozási nyelv BME-IIT Sz.I
42 Observer osztály class Observer { Subject *subj; // megfigyelt objektum public: Observer(Subject* subj); virtual void update(subject* subj, int reason); virtual ~Observer(); ; C++ programozási nyelv BME-IIT Sz.I
43 Subject tagfüggvényei /1 void Subject::attach(Observer *o) { obs.insert(o); void Subject::detach(Observer *o) { obs.erase(obs.find(o)); Subject::~Subject() { notify(0); // jelzi, hogy megszűnt C++ programozási nyelv BME-IIT Sz.I
44 Subject tagfüggvényei /2 // minden figyelőt értesít a változásról void Subject::notify(int reason) { for (std::set<observer*>::iterator it = obs.begin(); it!= obs.end(); it++ ) (*it)->update(this, reason); C++ programozási nyelv BME-IIT Sz.I
45 Observer tagfüggvényei Observer::Observer(Subject *subj) :subj(subj){ subj->attach(this); void Observer::update(Subject* subj, int reason) { if (reason == 0) this->subj = 0; // megszűnt: nem figyeli Observer::~Observer() { if (subj!= 0) // van még kit figyelni? subj->detach(this); C++ programozási nyelv BME-IIT Sz.I
46 Figyelt cápa class FigyeltCapa :public Capa, public Subject { Koord lastpos; public: Koord getpos() const { return lastpos; void lep(koord pos, Ocean& oc, int it); ; C++ programozási nyelv BME-IIT Sz.I
47 Cápafigyelő //A példában minden ebben az osztályban, de // a célszerűen több figyelő kellene. class CapaFigyelo : public Observer {... public: CapaFigyelo(FigyeltCapa *fc); int getkor() const; // kor lekérdezése int getehes() const; // éhség lekérdezése int getszapor() const; // szaporulat lekérdezése void update(subject *subj, int oka); void ut(std::ostream& os); ; C++ programozási nyelv BME-IIT Sz.I
48 CapaFigyelo::update() void CapaFigyelo::update(Subject *subj, int oka) { if (oka!= 0) { // Tudjuk, hogy figyelt cápára mutató poi, ezért konvertálunk FigyeltCapa *fc = dynamic_cast<figyeltcapa*>(subj); // Biztonságból ellenőrizzük a down cast eredményét if (fc == 0) throw std::runtime_error("bad_cast: Figyelt"); kor = fc->getkor(); ehes = fc->getehes(); szapor = fc->getszapor(); utvonal.push_back(fc->getpos()); // Alaposztály update: megszünteti a regisztrációt, ha kell Observer::update(subj, oka); C++ programozási nyelv BME-IIT Sz.I
49 Figyelés indítása FigyeltCapa *capeti = new FigyeltCapa; CapaFigyelo mester(capeti); CapaFigyelo filmes(capeti); CapaFigyelo biologus(capeti);. cout << "Capeti kora:" << mester.getkor() << endl; cout << "Capeti utodai:" << biologus.getszapor() << endl; cout << "Capeti utja:"; filmes.ut(cout); cout << endl; C++ programozási nyelv BME-IIT Sz.I
50 Eredmény Capeti kora:52 Capeti utodai:46 Capeti utja: (2,5) (1,5) (0,5) (0,6) (0,6) (0,7) (0,7) (0,8) (0,8) (0,9) (0,9) (0,10) (0,10) (0,11) (0,11) (0,12) (0,12) (0,13) (0,13) (0,14) (0,14) (0,15) (0,15) (0,16) (0,16) (0,17) (0,17) (0,18) (0,18) (0,19) (0,19) (0,20) (0,20) (0,21) (0,21) (0,22) (0,22) (0,23) (0,23) (0,24) (0,24) (0,25) (0,25) (0,26) (0,26) (0,27) (0,27) (0,28) (0,28) (0,29) (0,29) (0,30) (0,30) (0,31) (0,31) (0,32) (0,32) (0,33) (0,33) (0,34) (0,34) (0,35) (0,35) (0,36) (0,36) (0,37) (0,37) (0,38) (0,38) (0,39) (0,39) (1,39) (1,39) (2,39) (2,39) (3,39) (3,39) (4,39) (4,39) (5,39) (5,39) (6,39) (6,39) (7,39) (7,39) (8,39) (8,39) (9,39) (9,39) (8,39) (8,38) (7,38) (6,38) (5,38) (5,38) (4,38) C++ programozási nyelv BME-IIT Sz.I
Előző óra összefoglalása. Programozás alapjai II. (11. ea) C++ STL algoritmusok. Létrehozás/megsemm. példa. STL tárolók összefoglalása
Előző óra összefoglalása Programozás alapjai II. (11. ea) C++ STL algoritmusok Szeberényi Imre, Somogyi Péter BME IIT Kivételkezelés működés részletei, hatása az objektumok élettartamára
Programozás alapjai II. (11. ea) C++ STL algoritmusok
Programozás alapjai II. (11. ea) C++ STL algoritmusok 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. 2015.04.21. - 1 - Előző óra összefoglalása
C++11 TÓTH BERTALAN C++ PROGRAMOZÁS STL KONTÉNEREKKEL
C++11 TÓTH BERTALAN C++ PROGRAMOZÁS STL KONTÉNEREKKEL Tóth Bertalan: C++ programozás STL konténerekkel 2016 Jelen dokumentumra a Creative Commons Nevezd meg! Ne add el! Ne változtasd meg! 3.0 Unported
Fejlett programozási nyelvek C++ Iterátorok
Fejlett programozási nyelvek C++ Iterátorok 10. előadás Antal Margit 2009 slide 1 Témakörök I. Bevezetés II. Iterátor definíció III. Iterátorok jellemzői IV. Iterátorkategóriák V. Iterátor adapterek slide
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
Programozá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. -
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)
STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1
STL gyakorlat C++ Izsó Tamás 2016. május 9. Izsó Tamás STL gyakorlat/ 1 Komponensek kapcsolata Deklarálja az alábbi osztálydiagramon szereplő osztályok közül az A, AA és AB osztályokat! A konstruktorokat
C++ Standard Template Library (STL)
Programozási Nyelvek és Fordítóprogramok Tanszék Programozási Nyelvek I. Témák 1 STL alapok 2 STL fogalmak 3 Konténerek 4 Iterátorok 5 Funktorok C++ STL Ne fedezzük fel újra spanyolviaszt! Sok adatszerkezet/algoritmus
Programozás alapjai II. (13. ea) C++ Év végi összefoglalás
C++ kialakulása Programozás alapjai II. (13. ea) C++ Év végi összefoglalás Veszélyforrások csökkentése C + javítások Objektum orientált szemlélet OOP elemek Szeberényi Imre BME IIT C++
Programozás alapjai II. (13. ea) C++ Év végi összefoglalás
Programozás alapjai II. (13. ea) C++ Év végi összefoglalá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. 2010.05.11. -1- C++ kialakulása Veszélyforrások
XIII. STL. Tároló Bejáró Algoritmus. XIII.1 A vector #include <vector> #include <vector> #include <algorithm> using namespace std;
XIII. STL Tároló Bejáró Algoritmus #include #include using namespace std; vector vect; // a vect adatainak megadása sort(vect.begin(),vect.end()); XIII.1 A vector #include
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,
500.AA Megoldo Arisztid 500.A
Programozás alapjai 2. (inf.) 2. ZH 2018.05.07. lab. hiányzás: 1+2 a/a/1 ABCD123 a/1. kzh: 4 E:3 Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot, de csak a feladatlapra
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
1000.AA Megoldo Alfréd 1000.A
Programozás alapjai 2. (inf.) 2. PZH 2018.05.22. hiányzás:0+3 L4-R4P ZH: 27,5+26 ABCDEF IB.028/100. Sum:0 e:19 Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot, de
1.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
500.AJ Megoldó Magyar Magdolna 500.J
Programozás alapjai 2. (inf.) 2. pzh 2017.05.09. gy./l. hiány: / ABCDEF IB.028/1. Z: / / Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot, de csak a feladatlapra írt
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?
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"
0. 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,
C++ Standard Template Library
Haladó C++, 1/ 78 C++ Standard Template Library Pataki Norbert 2014. április 2. Haladó C++, 2/ 78 Generic programming, generikus programozás Expression problem OOP vs. generic programming Párhuzamos bővíthetőség
Collections. Összetett adatstruktúrák
Collections Összetett adatstruktúrák Collections framework Előregyártott interface-ek és osztályok a leggyakoribb összetett adatszerkezetek megvalósítására Legtöbbször módosítás nélkül használhatók Időt,
Objektum elvű alkalmazások fejlesztése. Verem típus osztály-sablonja
Objektum elvű alkalmazások fejlesztése Verem típus osztály-sablonja Készítette: Gregorics Tibor Készítsünk olyan újra-felhasználható kódot, amellyel vermeket lehet létrehozni és használni. Egy verem-objektum
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
A C++ Standard Template Library rövid összefoglalás
A C++ Standard Template Library rövid összefoglalás 2016-17. 1 Miről is van szó Alább összefoglaljuk, amely ismeretét feltesszük a félév során. Mivel mint megszokott az egyes verziók több-kevesebb mértékben
500. 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,
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
500.AA Megoldó Kulcsár 500.A
Programozás alapjai 2. (inf.) 2. ZH 2019.05.14. lab. hiányzás: + / HFt: ABC123 IL.305./1. p: e: Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot, de csak a feladatlapra
Challenge Accepted:C++ Standard Template Library
Challenge Accepted: C++ Standard Template Library ELTE Informatikai Kar, Programozási Nyelvek és Fordítóprogramok Tanszék patakino@elte.hu Szakmai Esti Mesék C++ Standard Template Library Felépítése konténerek:
503.AA Megoldo Arisztid 503.A
Programozás alapjai 2. (inf.) 2. ZH 2017.04.27. gy./l. hiány: / ABCD123 Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot, de csak a feladatlapra írt megoldásokat értékeljük!
228. AA Default Konstruktor AA 228.
Programozás alapjai 2. (inf.) zárthelyi 2012.05.17. gyak. hiányzás: kzhpont: ABCDEF Q-II/107. nzh: Hftest: Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
Standard Template Library. Adatstruktúrák és algoritmusok a C++ nyelvhez
Standard Template Library Adatstruktúrák és algoritmusok a C++ nyelvhez Bevezetés A Hewlett-Packard Company által fejlesztett sablonkönyvtár -> bekerült a C++98-ba Általánosított osztály- és függvénysablonokat
Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)
Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
.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,
mul : S T N 1 ha t S mul(s, t) := 0 egyébként Keresés Ezt az eljárást a publikus m veletek lenti megvalósításánál használjuk.
Érdi Gerg EF II. 2/2. Feladat Készítsen egy zsák típust! lkalmazzon osztályt! zsákokat rendezett láncolt listával ábrázolja! Implementálja a szokásos m veleteket, egészítse ki az osztályt a kényelmes és
Bevezeté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
C++ Gyakorlat jegyzet 10. óra.
C++ Gyakorlat jegyzet 10. óra. A jegyzetet Umann Kristóf készítette Brunner Tibor és Horváth Gábor gyakorlatán. (2017. január 6.) 1. Iterátor kategóriák Korábban már elhangzott, hogy az általunk implementált
A lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába
A lista eleme 0 adat rész mutató rész Listaelem létrehozása p: Node 0 0 3 0 Az elemet nekünk kell bef zni a listába Deklarálás struct Node { int int value; Node* next; next; adattagok Létrehozás Node*
500. DD Megoldó Alfréd DD 500.
Programozás alapjai 2. (inf.) zárthelyi 2009.05.21. gyakorlat: / Érdemjegy: QBX734 () IB319/32. Hftest: Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
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,
Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában
Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
Pé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
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
Bevezetés a Programozásba II 12. előadás. Adatszerkezetek alkalmazása (Standard Template Library)
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 12. előadás (Standard Template Library) 2014.05.19. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Felhasználó által definiált adattípus
Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési
Programozás alapjai II. (7. ea) C++
Programozás alapjai II. (7. ea) C++ generikus szerkezetek, template újból 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.03.26.
3. 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
feladat pont min elért
NEPTUN kód: NÉV: Aláírás: Programozás 2. NZH, 2017. május 11. BME-TTK, fizika BSc Arcképes igazolvány hiányában nem kezdheted meg a ZH-t. A feladatok megoldására összesen 90 perc áll rendelkezésre. A feladatlapot
Objektum elvű alkalmazások fejlesztése Programozási tételek újrafelhasználása 1. Készítette: Gregorics Tibor
Objektum elvű alkalmazások fejlesztése Programozási tételek újrafelhasználása 1. Készítette: Gregorics Tibor Hozzunk létre a programozási tételeket általánosan leíró kódkönyvtárat (osztály-sablon könyvtárat),
feladat pont min elért
NEPTUN kód: NÉV: Aláírás: Programozás 2. NZH, 2019. május 14. BME-TTK, fizika BSc Arcképes igazolvány hiányában nem kezdheted meg a ZH-t. A feladatok megoldására összesen 90 perc áll rendelkezésre. A feladatlapot
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
Fejlett programozási nyelvek C++ Sablonok és adatfolyamok
Fejlett programozási nyelvek C++ Sablonok és adatfolyamok 11. előadás Antal Margit 2009 slide 1 Témakörök Sablonok Függvénysablon Osztálysablon Sablon metaprogramozás Adatfolyamok Operátorok és manipulátorok
Objektum elvű alkalmazások fejlesztése Programozási tételek újrafelhasználása 1.
Objektum elvű alkalmazások fejlesztése Programozási tételek újrafelhasználása 1. Készítette: Gregorics Tibor Hozzunk létre a programozási tételeket általánosan leíró olyan kódkönyvtárat (osztály-sablon
Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
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! -
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! -
AA MEGOLDÓ ALADÁR AA
Programozás alapjai 2. (inf.) 1. zárthelyi 2015.03.30. gyak./lab. hiányzás: 3/2 G3-QB309 ZEZFCE Minden beadandó megoldását a feladatlapra, a feladat után írja! Készíthet piszkozatot, de csak a feladatlapra
Programozá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
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
1. 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 (
Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek
Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek 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.05. - 1
Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök
Programozás alapjai II. (8. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT Speciális adatszerkezetek A helyes adatábrázolás választása, a helyes adatszerkezet
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
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++
Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o
Miért Java? széleskörben elterjedt Micro Edition - beágyazott rendszerek, régi telefonok Standard Edition - PC, android ezen alapul Enterprise Edition - vállalati programok, web service-ek multiplatform
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
Tervminták II. (Híd, Bejáró, Gyártófüggvény) Halmaz és bejárása Osztály-sablonok
Tervminták II. (Híd, Bejáró, Gyártófüggvény) Halmaz és bejárása Osztály-sablonok 1.Feladat Készítsünk olyan kódot, amely segítségével természetes számokat tároló halmazok hozhatók létre. o Egy halmaz-objektum
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
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
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
Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák
Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák Gelle Kitti 2017. 10. 25. Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák 2017. 10. 25. 1 / 20 Hasítótáblák T 0 h(k 2)
111. AA Megoldó Alfréd AA 111.
Programozás alapjai 2. (inf.) pótzárthelyi 2008.05.22. gyakorlat: 0/0 Érdemjegy: ABCDEF () IB028/102. Hftest: 12000 Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
A 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,
1. 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.
S02-3 Multiparadigma programozás és Haladó Java 2
S02-3 Multiparadigma programozás és Haladó Java 2 Tartalom 1. Generikus programozás, típussal való paraméterezés, példányosítás és típustörlés 2. A C++ standard template könyvtár. 1. Konténerek és iterátorok
Programozás alapjai II. (7. ea) C++
Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek 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.05. - 1
Generikus 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
Java é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:
Programozási tételek újrafelhasználása
Programozási tételek újrafelhasználása Cél Adott egy a programozási tételeket általánosan leíró kódkönyvtár (osztálysablon könyvtár), amely felhasználásával a visszavezetéssel tervezett programjainkat
List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error
Generics Egyszerűbb példák (java.util csomagból): public interface List { void add(e x); Iterator iterator(); public interface Iterator { E next(); boolean hasnext(); E - formális típusparaméter,
Pé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
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
Az alábbi példában a Foo f(5); konstruktor hívása után mennyi lesz f.b értéke? struct Foo { int a, b; Foo(int c):a(c*2),b(c*3) {} };
A C++ kódokban lévő makrókat melyik egység dolgozza fel az alábbiak közül? preprocessor A szabványos C++-ban nem is írhatunk makrókat (csak C-ben) assembler linker Az alábbi példában a Foo f(5); konstruktor
Programozási technológia
Programozási technológia Generikus osztályok Gyűjtemények Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Generikus osztályok Javaban az UML paraméteres osztályainak a generikus (sablon) osztályok felelnek
Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union
Programozás alapjai C nyelv 10. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.21. -1- Standard függvények Standard függvények amelyeket
Informatikai Kar. 3. fejezet. alapismeretek. Giachetta Roberto
Informatikai Kar 3. fejezet alapismeretek Giachetta Roberto Actually I made up the term 'Object-Oriented', and I can tell you I did not have C++ in mind. (Alan Kay) adottak) 3:3 Feladat: Stack) adatszerkezetet
ISA 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
Bevezeté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
Elemi alkalmazások fejlesztése II. 2. Beadandó feladat Juhász Ádám
Feladat Készítsen egy zsák típust! Alkalmazzon osztályt! A zsákokat rendezett láncolt listával ábrázolja! Implementálja a szokásos műveleteket, egészítse ki az osztályt a kényelmes és biztonságos használat
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
Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
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
Objektumok inicializálása
Objektumok inicializálása Miskolci Egyetem Általános Informatikai Tanszék Objektumok inicializálása CPP4 / 1 Tartalom public adattagok inicializálása felsorolással konstruktor objektum tömbök osztály típusú
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 ) :
C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18
C# Nyelvi Elemei Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei 2013 1 / 18 Tartalomjegyzék 1 Object 2 Típusok 3 String 4 RegEx Tóth Zsolt (Miskolci Egyetem) C# Nyelvi
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
Programozás alapjai II. (6. ea) C++
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
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
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)
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