Compilation, pointeur & références Spécificités du C++ Classes en C++ Fraction de nombres complexes Constructeur & destructeurs Surcharge d'opérateur Polymorphisme & classe abstraite Jeu du blackjack
Retour menu principal

Fraction de nombres complexes


Classe Complexe

Écrire une classe Complexe, possédant :

  • Deux membres de type double :
    • Partie réelle,
    • Partie imaginaire;
  • Un ou plusieurs constructeurs;
  • Une méthode affiche pour les tests;
  • Des méthodes d’accès : partie réelle, partie imaginaire, module, argument;
  • Des méthodes de modification : set_real_imag(double, double) et set_mod_arg(double, double);
  • Une méthode retournant le conjugué.

Écrire ensuite les fonctions d’addition, soustraction, multiplication, et division, suivant ce prototype :

Complexe operation(const Complexe& z1, const Complexe& z2);

Évolution de la classe Complexe

Faire évoluer la classe Complexe, sans changer son interface publique, en y ajoutant deux membres de données :

  • Module,
  • Argument.

Ainsi, les méthodes d’accès au module et à l’argument seront plus rapide, puisqu’il leur suffira de lire la valeur stockée, et non plus de recalculer à la volée.

S’assurer que les constructeurs et toutes les méthodes de modification préservent la synchronisation entre les quatre valeurs stockées.

Classe Fraction

Sur le même modèle, écrire une classe Fraction, possédant :

  • Deux membres entiers :
    • Numérateur,
    • Dénominateur;
  • Un ou plusieurs constructeurs;
  • Une méthode affiche pour les tests (qui affiche la fraction sous la forme Numérateur/Dénominateur e.g. 4/3);
  • Des méthodes d’accès;
  • Une méthode de modification;
  • Une méthode retournant la fraction inverse (dénominateur / numérateur);
  • Une méthode reduire : qui réduit la fraction i.e. 28/6 devient 14/3;
  • approx : qui retourne la valeur approchée de la fraction par un double.