Both sides previous revision
Poprzednia wersja
|
Nowa wersja
Both sides next revision
|
pl:dydaktyka:jimp2:2016:part2:ex:ex3 [2016/05/02 23:40] msl |
pl:dydaktyka:jimp2:2016:part2:ex:ex3 [2016/05/02 23:41] msl |
* Inne konieczne metody i/lub operatory wedle uznania. | * Inne konieczne metody i/lub operatory wedle uznania. |
- W klasie **abstrakcyjnej** (**''aghContainer''**) definiujemy **wszystkie** możliwe do zdefiniowania metody. Zaoszczędzi to sporo czasu w kolejnych ćwiczeniach przy tworzeniu klas pochodnych. Metody których ciało **nie** może zostać zdefiniowane w klasie abstrakcyjnej to: **destruktor**, **''remove''**, **''size''**, **''insert''**, **''at''**. Pozostałem metody definiujemy przy pomocy wyżej wymienionych. | - W klasie **abstrakcyjnej** (**''aghContainer''**) definiujemy **wszystkie** możliwe do zdefiniowania metody. Zaoszczędzi to sporo czasu w kolejnych ćwiczeniach przy tworzeniu klas pochodnych. Metody których ciało **nie** może zostać zdefiniowane w klasie abstrakcyjnej to: **destruktor**, **''remove''**, **''size''**, **''insert''**, **''at''**. Pozostałem metody definiujemy przy pomocy wyżej wymienionych. |
- Budujemy klasę **''aghVector''**, która będzie **dziedziczyć** powyższą klasę abstrakcyjną w sposób **publiczny**. Klasa powinna obsługiwać **wszystkie** powyższe metody. <WRAP center round tip 60%> | - Budujemy klasę **''aghVector''**, która będzie **dziedziczyć** powyższą klasę abstrakcyjną w sposób **publiczny**. Klasa powinna obsługiwać **wszystkie** powyższe metody. |
Proszę stosować się do tzw. [[https://en.wikipedia.org/wiki/Rule_of_three_%28C%2B%2B_programming%29|reguły trzech]] | |
</WRAP> | |
| |
- Nie ma przymusu tworzenia metod czy też klas specjalizowanych. | - Nie ma przymusu tworzenia metod czy też klas specjalizowanych. |
<WRAP center round tip 60%> | <WRAP center round tip 60%> |
Plik ''catch.h'' jest to [[https://github.com/philsquared/Catch|jedna z najlepszych bibliotek do pisania testów kodu w C++]]. Plik ''ex3main.cpp'' korzysta z niej do testowania dostarczonych implementacji. | Plik ''catch.h'' jest to [[https://github.com/philsquared/Catch|jedna z najlepszych bibliotek do pisania testów kodu w C++]]. Plik ''ex3main.cpp'' korzysta z niej do testowania dostarczonych implementacji. |
| </WRAP> |
| |
| <WRAP center round important 60%> |
| Podczas implementacji klasy ''aghVector'' proszę stosować się do, tzw. [[https://en.wikipedia.org/wiki/Rule_of_three_%28C%2B%2B_programming%29|reguły trzech]] |
</WRAP> | </WRAP> |
| |