This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
in202:seance_3:td_3:part_ii [2021/04/07 10:40] bmonsuez [Question n°2] |
in202:seance_3:td_3:part_ii [2022/11/18 10:46] (current) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== TD3 - Partie 2 - Les classes génériques ====== | ====== TD3 - Partie 2 - Les classes génériques ====== | ||
| + | |||
| + | [[..:td_3|Sujet complet]] | ||
| ===== Question n°1 ===== | ===== Question n°1 ===== | ||
| - | Nous considérons désormais une classe ''KeyValuePair'' qui stocke un pair de deux éléments, l'un correspondant à une clé et l'autre correspondant à la valeur associé à cette clé : | + | Nous considérons désormais une classe ''key_value_pair'' qui stocke une paire de deux éléments, l'un correspondant à une clé et l'autre correspondant à la valeur associée à cette clé : |
| <code cpp> | <code cpp> | ||
| Line 17: | Line 19: | ||
| public: | public: | ||
| - | key_value_pair(int theKey, int theValue): | + | key_value_pair(int theKey, std::string theValue): |
| m_key(theKey), m_value(theValue) {} | m_key(theKey), m_value(theValue) {} | ||
| int getKey() const { return m_key; } | int getKey() const { return m_key; } | ||
| - | int getValue() const { return m_value; } | + | std::string getValue() const { return m_value; } |
| | | ||
| - | int setKey(int theKey) { m_key = theKey; } | + | void setKey(int theKey) { m_key = theKey; } |
| - | int setValue(std::string theValue) { m_value = theValue; } | + | void setValue(std::string theValue) { m_value = theValue; } |
| }; | }; | ||
| Line 40: | Line 42: | ||
| <code cpp> | <code cpp> | ||
| template<class T> | template<class T> | ||
| - | key_value_pair<int, T> find_max(std::vector<T> theVector, T theValue) | + | key_value_pair<int, T> find_max(std::vector<T> theVector) |
| { | { | ||
| ... | ... | ||
| Line 60: | Line 62: | ||
| </code> | </code> | ||
| + | |||
| + | ==== Code présenté pendant le cours ==== | ||
| + | |||
| + | {{https://perso.ensta-paris.fr/~bmonsuez/Media/code/in202/2021/td3/part2/part2.cpp|''part2.cpp''}} Fichier principal contient les fonctions de test et le main. | ||
| + | |||
| + | {{https://perso.ensta-paris.fr/~bmonsuez/Media/code/in202/2021/td3/part2/key_value_pair.h|''key_value_pair.h''}} Définition de la classe générique. | ||
| ===== Liens vers les éléments syntaxiques et ressources externes ===== | ===== Liens vers les éléments syntaxiques et ressources externes ===== | ||
| Line 65: | Line 73: | ||
| [[https://en.cppreference.com/w/cpp/container/vector|La classe ''std::vector<>'']] | [[https://en.cppreference.com/w/cpp/container/vector|La classe ''std::vector<>'']] | ||
| - | [[cpp:stl:iterator|Les itérateurs en C++]] | + | [[cpp:syntax:class:generic|Les classes génériques en C++]] |
| - | |||
| ===== Navigation ===== | ===== Navigation ===== | ||