Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja Both sides next revision
pl:dydaktyka:jimp2:2017:labs:dziedziczenie [2018/04/21 15:59]
mwp [Ćwiczenia]
pl:dydaktyka:jimp2:2017:labs:dziedziczenie [2018/04/23 18:25]
mwp [Zadanie domowe:]
Linia 525: Linia 525:
     * <code cpp>bool NotEquals(const IterableIterator &​other)</​code>​ - odpowiada operacji //it != other//, jej implementacja w klasie pochodnej powinna zwracać prawdę jeśli iterator other wskazuje na ten sam element sekwencji (względnem jego indeksu w sekwencji, a nie tylko jego wartości zwracanej przez //​Dereference()//​).     * <code cpp>bool NotEquals(const IterableIterator &​other)</​code>​ - odpowiada operacji //it != other//, jej implementacja w klasie pochodnej powinna zwracać prawdę jeśli iterator other wskazuje na ten sam element sekwencji (względnem jego indeksu w sekwencji, a nie tylko jego wartości zwracanej przez //​Dereference()//​).
     * Destruktor - jako jedyna metoda w tej klasie powinien mieć domyślną implementację,​ najlepiej skorzystać z pomocy kompilatora i kazać mu ją wygenerować (= defualt). ​     * Destruktor - jako jedyna metoda w tej klasie powinien mieć domyślną implementację,​ najlepiej skorzystać z pomocy kompilatora i kazać mu ją wygenerować (= defualt). ​
-  - **rozgrzewka** Należy zaimplementować klasę pochodną dla **IterableIterator**,​ a mianowicie: **ZipperIterator**,​ zipper iterator powinien być w stanie przeiterować po dwóch wektorach na raz, biorąc po kolei pierwszy element z pierwszego wektora i pierwszy element z drugiego wektora, drugi element z pierwszego i drugi element z drugiego, itd.. Najłatwiej to zrobić jeśli ZipperIterator będzie posiadał po dwa const iteratory do początu i końca obu wektorów. Wtedy Derefencja, Next i NotEquals są bardzo proste w implementacji. (Testy wymagają konstuktora postaci: <code cpp>​explicit ZipperIterator(std::​vector<​int>::​const_iterator ​left+  - **rozgrzewka** Należy zaimplementować klasę pochodną dla **IterableIterator**,​ a mianowicie: **ZipperIterator**,​ zipper iterator powinien być w stanie przeiterować po dwóch wektorach na raz, biorąc po kolei pierwszy element z pierwszego wektora i pierwszy element z drugiego wektora, drugi element z pierwszego i drugi element z drugiego, itd.. Najłatwiej to zrobić jeśli ZipperIterator będzie posiadał po dwa const iteratory do początu i końca obu wektorów. Wtedy Derefencja, Next i NotEquals są bardzo proste w implementacji. (Testy wymagają konstuktora postaci: <code cpp>​explicit ZipperIterator(std::​vector<​int>::​const_iterator ​left_begin
-                 ​std::​vector<​std::​string>::​const_iterator ​right,+                 ​std::​vector<​std::​string>::​const_iterator ​right_begin,
                  ​std::​vector<​int>::​const_iterator left_end,                  ​std::​vector<​int>::​const_iterator left_end,
                  ​std::​vector<​std::​string>::​const_iterator right_end);</​code>​                  ​std::​vector<​std::​string>::​const_iterator right_end);</​code>​
pl/dydaktyka/jimp2/2017/labs/dziedziczenie.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0