Kodused ülesanded
1. Andmekogumite ühendamine
Koosta mallifunktsioon yhenda
, mis ühendab kaks andmekogumit. Mallifunktsioonil on kolm malliparameetrit: esimesed kaks määravad ühendatavad andmekogumid ja kolmas määrab andmekogumi, kuhu kaks esimest ühendatakse. Kindlasti kasuta viiteid! Kõik kolm andmekogumit võivad olla erinevad. Mallifunktsioon peab töötama vähemalt kolmel andmekogumil: vector
, list
ja deque
. Näide on koos järgmise ülesandega. Funktsiooni signatuur:
template <typename T1, typename T2, typename T3> void yhenda(T1& alg1, T2& alg2, T3& tulem) |
2. Andmekogumi väljundvoogu saatmine
Koosta mallifunktsioon tryki
, mis saadab etteantud andmekogumi elemendid tühikuga eraldatult väljundvoogu. Mallifunktsioonil on järgmine signatuur:
template <typename T> ostream& tryki(T& alg, ostream & os) |
Näide 1. ja 2. ülesande kohta
|
|
3. Andmekogumite võrdlemine
Koosta mallifunktsioon, mis defineerib üle andmekogumite võrdlemise elementide summa alusel
template <typename T> bool operator<(T& esimene, T& teine) |
Näited andmekogumite võrdlemisest
|
|