This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
in202:seance_3:td_3:part_iv [2021/04/07 15:04] bmonsuez created |
in202:seance_3:td_3:part_iv [2022/11/18 10:46] (current) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== La surcharge d'opérateurs ====== | ====== La surcharge d'opérateurs ====== | ||
| + | |||
| + | [[..:td_3|Sujet complet]] | ||
| ===== Question n° 1 ==== | ===== Question n° 1 ==== | ||
| Line 82: | Line 84: | ||
| </code> | </code> | ||
| + | Recenser les opérateurs qui ont été surchargés ? | ||
| + | |||
| + | |||
| + | ===== Question n° 2 ==== | ||
| + | |||
| + | Définissez les opérations testant si deux nombres rationnelles sont égaux. Attention, il faut est capable de bien détecter que ''1/2 == 2/4'' sont égaux. | ||
| + | |||
| + | Typiquement, il faudra définir deux opérateurs : | ||
| + | |||
| + | <code cpp> | ||
| + | class rational | ||
| + | { | ||
| + | ... | ||
| + | public: | ||
| + | bool operator == (const rational&) const; | ||
| + | bool operator != (const rational&) const; | ||
| + | }; | ||
| + | </code> | ||
| + | |||
| + | ==== Code présenté pendant le cours ==== | ||
| + | |||
| + | {{https://perso.ensta-paris.fr/~bmonsuez/Media/code/in202/2021/td3/part4/part4.cpp|''part4.cpp''}} Fichier principal contient les fonctions de test et le main. | ||
| + | |||
| + | {{https://perso.ensta-paris.fr/~bmonsuez/Media/code/in202/2021/td3/part4/rational.h|''rational.h''}} Définition de la classe des nombres rationnels. | ||
| + | |||
| + | ===== Liens vers les éléments syntaxiques et ressources externes ===== | ||
| + | |||
| + | [[cpp:syntax:operator:overload|La surcharge d'opérateurs en C++]] | ||
| + | |||
| + | |||
| + | ===== Navigation ===== | ||
| + | [[.:part_iii|Troisième partie]] | ||