Forum » Programiranje » [C++] Šablone
[C++] Šablone
c0dehunter ::
Zdravo, za naredit imam naslednjo nalogo:
Če je srednji argument tipa int, potem izpisujem po obratnem vrstnem redu (z y x) drugače pa kar povrsti (x y z).
Naredil sem takole:
Prva funkcija izpisi je zakomentirana, ker zgleda da ne smeš dekalarirat več funkcij z istim imenom na tak način (sicer bi bilo to najlažje).
Potem sem poskusil še tako, da bi v drugi funkciji preverjal, če je T2==int, ampak to tudi nekako ne gre. Kaj delam narobe, naloga naj bi bila čisto preprosta?
Napišite funkciji izpis, ki sprejmeta po tri parametre in izpišeta podatke naraščajoče oz. padajoče (glede na tip) (pomagaj si s šablonami).
izpisi(1.1, 2.1, 3.1);
izpisi(1, 2.1, 3.1);
izpisi(1.1, 2, 3.1);
Če je srednji argument tipa int, potem izpisujem po obratnem vrstnem redu (z y x) drugače pa kar povrsti (x y z).
Naredil sem takole:
#include <iostream> using namespace std; template <typename T1, typename T2, typename T3> /*void izpisi(T1 x, int y, T3 z){ cout<<x<<", "<<y<<", "<<z<<endl; }*/ void izpisi(T1 x, T2 y, T3 z){ cout<<z<<", "<<y<<", "<<x<<endl; } int main(){ izpisi(1.1, 2.1, 3.1); izpisi(1, 2.1, 3.1); izpisi(1.1, 2, 3.1); system("PAUSE"); return EXIT_SUCCESS; }
Prva funkcija izpisi je zakomentirana, ker zgleda da ne smeš dekalarirat več funkcij z istim imenom na tak način (sicer bi bilo to najlažje).
Potem sem poskusil še tako, da bi v drugi funkciji preverjal, če je T2==int, ampak to tudi nekako ne gre. Kaj delam narobe, naloga naj bi bila čisto preprosta?
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
Jean-Paul ::
Kaj takega?
#include <iostream> template <typename T1, typename T2, typename T3> void izpisi(T1 x, T2 y, T3 z) { std::cout << 1 << std::endl; } template <typename T1, typename T3> void izpisi(T1 x, int y, T3 z) { std::cout << 2 << std::endl; } int main() { izpisi(1, 2., 3.); izpisi(1., 2, 3.); }
c0dehunter ::
Hvala, to sem rabu
I do not agree with what you have to say,
but I'll defend to the death your right to say it.
but I'll defend to the death your right to say it.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Pomoč ExcelOddelek: Programska oprema | 6384 (6071) | mk766321 |
» | [c#] Meni s pomočjo switch stavkaOddelek: Programiranje | 807 (746) | Looooooka |
» | Microsoft visual C++ pozabo kako zacet (strani: 1 2 )Oddelek: Programiranje | 4458 (2767) | bisernik |
» | [C++] Dve malo težji nalogiOddelek: Programiranje | 2240 (1856) | roli |
» | [Java]Naloge iz zankOddelek: Programiranje | 1285 (1201) | SkIDiver |