Napište třídu T (třída je stejná jako v zadání, které jste si
psali v DU1) tak, aby fungoval následující kód.
Pokud ve verzi
zadání nemáte pro daný stav (počet parametrů, ...) patřičné zadání,
vymyslete co by mohl příkaz dělat a doplňte do zadání.
Všechny
konstruktory a destruktor vypíší při běhu programu text (s
odřádkováním) o tom jaký konstruktor/destruktor byl právě vykonáván.
Používejte doporučení z tutoriálů.
Vzorový kód (T zastupuje vaši třídu):
{
T aa,hh,ii;
T bb(1);
T cc(1,2);
T dd(1,2,3);
T
ee("..."); // za ... doplňte řetězec pro vložení vaší
proměnné, tak jak ho máte v zadání.
T ff(dd);
T gg = ff;
T
jj[10];
T *pa = &aa;
T *pb = new T;
T *pc = new T(2,3);
T
*pd = new T(gg);
T *pe = new T[20];
aa.SetX(12.3); //za X si můžete doplnit název vyhovující vaší
třídě
aa.SetY(2.3); //za Y si můžete doplnit název vyhovující vaší
třídě
hh.SetXY(1.2,3.4); // za XY si můžete doplnit název
vyhovující vaší třídě, popřípadě doplnit více argumentů
ii.Set(hh);
// použijte referenci
// nastavte proměnnou odkazovanou pb na hodnoty proměnné dd
cout << "Hodnota je: " << hh.GetX() .... << endl; // postupně vytiskněte všechny složky z vaší proměnné
// stejným způsobem vytiskněte proměnnou odkazovanou pd
// stejným způsobem vytiskněte třetí proměnnou pole odkazovaného pe
// sem doplňte kód pro korektní hospodaření s pamětí
}
Odevzdejte v zip souboru: zdrojové a hlavičkové soubory *.c, *.h. Aktuální znění zadání.