Dobrý den,
mohl bych Vás poprosit o pomoc při řešení cvičení? Zasekl jsem se na cvičení 8.6 (Mistrovství v C++,3.vydání):
"Napište šablonu funkce maxn(), která přijímá jako argument pole položek typu T a celé číslo reprezentující počet prvků pole a jež vrací jeho největší prvek. Šablonu otestujte v programu, který používá šablonu funkce s poli o šesti hodnotách typu int a čtyřech hodnotách typu double. Program by měl také obsahovat specializaci, která přebírá pole ukazatelů na char jako jeden argument a počet ukazatelů jako druhý argument a jež vrací adresu nejdelšího řetězce. Jestliže existuje více nejdelších řetězců, funkce vrátí adresu prvního nejdelšího. Otestujte specializaci pomocí pole o pěti řetězceových ukazatelích."
Ta první část je jasná, potřeboval bych jen "nakopnout" s tou specializací. Stačí prototyp specializace šablony.
Děkuji. O.Pokorný
Fórum › C / C++
Pomoc s příkladem z Mistrovství v C++
Záleží na tom, jak máte deklarovanou obecnou šablonu. Pokud to je
template<typename T>
const T& maxn(const T pole[], size_t delka);
tak specializace jetemplate<>
const char* const& maxn(const char* const pole[], size_t delka);
. Pokud to je template<typename T>
T maxn(const T pole[], size_t delka);
tak specializace je pak template<>
const char* maxn(const char* const pole[], size_t delka);
Pro praxi je jednodušší vyrobit netemplatovanou verzi funkce s konkrétními parametry a překladač jí dá přednost. Ale jako procvičení zhruba tak, jak jsem uvedl.To ondra.holub : Dobrý den. Měl jsem to tak, jen bez toho const a ono si to vybíralo pořád tu nespecializovanou šablonu. Díky moc. Ondra
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 135 hostů
Podobná vlákna
Pomoc s příkladem — založil Markéta
Prosím o pomoc s příkladem — založil wallker47
Java-pomoc s příkladem,prosím!! — založil fialka22
The C Programming Language - pomoc s příkladem — založil Marty
Moderátoři diskuze