Implicitní parametry
Napište funkci, která vrátí maximální hodnotu z jednoho, dvou, nebo tří parametrů. (Funkce musí být jediná, společná pro všechna volání -> použijte mechanizmusm implicitních parametrů.)
Napište tedy jedinou funkci max se třemi parametry tak aby bylo možné ji volat s jedním, dvěma nebo třemi parametry (řešte pomocí implicitních parametrů). Pokud nebudou tyto parametry zadány bude jejich hodnota nastavena na minimální hodnotu daného typu (prostudujte si knihovny - float.h, limits.h).
Zkuste použít ternární operátor
Zvolte vhodný typ pro realizaci předávaných parametrů (v knihovnách float.h, limits.h ověřte, kdy dojde ke ztrátě přesnosti implicitních konverzí).
Zkuste volat funkci s jedním, dvěma a třemi parametry.
(int i;
double d;
float f;
max(i,i,i);
max(i,i);
max(i);
max(d,d,d);
max(d,d);
max(d);
max(i,d);
max(f,f);
max(i,f); - proč a jak fungují?)
Přidejte napsanou funkci k funkcím max z přetěžování a vyzkoušejte všechna nadefinovaná volání z obou případů. Co se děje a proč?
(V případě, že vám zbyde čas, zkuste realizovat max pomocí výpustky (= elipses = “...“) – první parametr bude značit počet double hodnot, které budou následovat. Zhodnoťte výhody a nevýhody jednotlivých řešení – proměnný počet a typ parametrů, implicitní parametry, výpustka, realizace pomocí maker)
Poslední změna 2008-07-29