Commit 6747d95e by Szeberényi Imre

v0

parent 5d874eaa
...@@ -14,11 +14,11 @@ Ahol: ...@@ -14,11 +14,11 @@ Ahol:
- t2 - *Ember\** típusú pointereket tárol *std::deque* sablon segítségével. Hiba esetén *std::out_of_range* kivételt dob. - t2 - *Ember\** típusú pointereket tárol *std::deque* sablon segítségével. Hiba esetén *std::out_of_range* kivételt dob.
- t3 - *Valami\** típusú pointereket tárol *std::list* sablon segítségével. Hiba esetén *MyClass* kivételt dob. - t3 - *Valami\** típusú pointereket tárol *std::list* sablon segítségével. Hiba esetén *MyClass* kivételt dob.
A Sablonparaméterként megadható sorozattárolónak az alábbi minimumkövetelményeknek kell megfelelnie: Minimumkövetelmények a tárolásra használt osztályra vonatkozóan:
- A paraméterként átadott tárolótól elvárjuk, hogy legyen: - A paraméterként átadott tárolótól elvárjuk, hogy legyen:
- létrehozható, megszüntethető, másolható, értékadható - létrehozható, megszüntethető, másolható, értékadható.
- A paraméterként átadott tárolótól elvárjuk, hogy megvalósítja az alábbi metódusokat illetve típusokat: - A paraméterként átadott tárolótól elvárjuk, hogy valósítsa meg az alábbi metódusokat illetve típusokat:
- *value\_type* - a tárolt adat típusa. - *value\_type* - a tárolt adat típusa.
- *iterator* - iterátor. - *iterator* - iterátor.
- *const\_iterator* - konstans iterátor. - *const\_iterator* - konstans iterátor.
...@@ -27,7 +27,7 @@ A Sablonparaméterként megadható sorozattárolónak az alábbi minimumkövetel ...@@ -27,7 +27,7 @@ A Sablonparaméterként megadható sorozattárolónak az alábbi minimumkövetel
- *push\_back()* - betesz egy új adatot a tárolóba - pontosabban az adat egy másolatát - a tárolt adatok után. Amennyiben helyhiány miatt ez nem sikerül, *std::bad_alloc* kivételt dob. - *push\_back()* - betesz egy új adatot a tárolóba - pontosabban az adat egy másolatát - a tárolt adatok után. Amennyiben helyhiány miatt ez nem sikerül, *std::bad_alloc* kivételt dob.
- *clear()* - törli a tárolót, azaz eldobja a tárolt adatokat, a tárolt darabszámot 0-ra állítja. - *clear()* - törli a tárolót, azaz eldobja a tárolt adatokat, a tárolt darabszámot 0-ra állítja.
A fentieket felhasználva **valósítsa** meg (tegye elérhetővé) a *ClonableHeteroStore* osztály az alábbi publikus metódusokat illetve típusokat: A fenti követelmények meglétét feltételezve **tervezze** meg a *ClonableHeteroStore* osztályt úgy, hogy az rendelkezzen az alábbi publikus metódusokkal, illetve illetve típusokkal:
- **const_iterator** - konstans iterátor. - **const_iterator** - konstans iterátor.
- **begin()** - visszaad egy iterátort (*const\_iterator*) a belső tároló első elemére. - **begin()** - visszaad egy iterátort (*const\_iterator*) a belső tároló első elemére.
...@@ -48,7 +48,7 @@ Támogassa a többszörös értékadást! **Tételezze fel**, hogy a tárolóban ...@@ -48,7 +48,7 @@ Támogassa a többszörös értékadást! **Tételezze fel**, hogy a tárolóban
3. Tesztelje a megadott tesztprogrammal az új osztályt! 3. Tesztelje a megadott tesztprogrammal az új osztályt!
4. Elemezze a **ClonableTestClass**, a **ClonableTestClass1**, valamint a **ClonableTestClass2** osztályok megvalósítását a *clonable_testclass.h* állományban! A megvalósítás többszörös öröklést és virtuális alaposztályt használ. Értse meg, hogy miért van erre szükség! 4. Elemezze a **ClonableTestClass**, a **ClonableTestClass1**, valamint a **ClonableTestClass2** osztályok megvalósítását a *clonable_testclass.h* állományban! A megvalósítás többszörös öröklést és virtuális alaposztályt használ. Értse meg, hogy miért van erre szükség!
5. A fentiek alapján hozzon létre klónozható baktériumokat, melyek kompatibilisek a **Bacterium**, valamint **Clonable** osztályokkal! Az osztályokat a *clonable_bacterium.h* fájlban implementálja! 5. A fentiek alapján hozzon létre klónozható baktériumokat, melyek kompatibilisek a **Bacterium**, valamint **Clonable** osztályokkal! Az osztályokat a *clonable_bacterium.h* fájlban implementálja!
6. Definiálja a **BACI\_IS\_VAN** makrót, fordítson és ismét teszteljen! 6. Projekt szinten definiálja a **BACI\_IS\_VAN** makrót, fordítson és ismét teszteljen!
4. Amennyiben a tesztek jól futnak, töltse fel a *JPorta* feladatbeadó rendszerbe a **clonable\_bacterium.h** és **clonable\_hetero\_store.hpp** fájlokat! 4. Amennyiben a tesztek jól futnak, töltse fel a *JPorta* feladatbeadó rendszerbe a **clonable\_bacterium.h** és **clonable\_hetero\_store.hpp** fájlokat!
**Megjegyzések:** **Megjegyzések:**
......
/** /**
* \file: bacterium.h * \file: testclass.h
* *
* TestClass alaposztály és leszármazottjai * TestClass alaposztály és leszármazottjai
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment