Állatkertben az előző heti gyakorló feladatban megismert állatok, és még további jövevények érkezhetnek. Az állatkert lakói játszanak egymással és járvány esetén kipusztulnak.
Modellezzük az állatkertet heterogén kollekcióval! Az állatkert egy nagy tároló, ami az állatok közös ősére Allat) mutató mutatókat tárol.
Állatkert tagfüggvényei:
ujLako() - új állat érkezik
ricsaj() - minden állat hangot ad
jatek() - minden állat játszik mindenkivel
jarvany() - állatok kihalnak
Célszerűen az állatkertnek az értékadó operátora nem elérhető kívülről. A másoló konstruktor másolatot készít egész állatkertről. Így pl. járvány előtt minden állatot klónozhatunk. A klónozott állatok pedig a másolt állatkertben fognak lakni.
Feladatok megoldásokkal
Deklarálja az állatkert osztályt!
Valósítsa meg a kívül definiált tagfüggvényeket a másoló konstruktor kivételével!
Valósítsa meg a másoló konstruktort! Hogyan lehet az állatkertet a járvány előtt lemásolni? Elegendő a pointereket lemásolni? Mi a probléma?
Deklarálja Állat osztályt! (előző heti feladat kiegészítve a clone() tagfüggvénnyel)
Valósítson meg néhány állatot! (előző heti feladat + clone() )