// // Complexe.hpp // exocours // // Created by Valentin LEMERCIe ER on 24/01/2018. // Copyright © 2018 Valentin LEMERCIER. All rights reserved. // #ifndef Complexe_hpp //ATTENTION NECESSAIRE LORSQUE LA CLASSE EST INCLUSE DEPUIS PLUSIEURS FICHIERS #define Complexe_hpp #include #include using namespace std; class Complexe { private: // données membres toujours déclarées en private //On ne doit pas pouvoir permettre à l'utilisateur de pouvoir changer la partie imaginaire, sans changer par exemple le //module du complexe. float partie_reelle; // partie réelle float partie_im; // partie imaginaire float module;// module float argument;// argument //Ici se trouvent les fonctions qu'on va permettre d'utiliser en dehors de la classe (dans le main par exemple) //On les déclare en public public: // fonctions membres Complexe(); // constructeur vide // crée un complexe à 0 (le programmeur de classe doit choisir) Complexe(float x, float y); // constructeur 2// créer un complexe = x+iy // Complexe(const Complexe &C); //Constructeur par copie. Si vou sn'en définissez pas comme c'est le cas ici, il est fait automatiquement par le compilateur. ATTENTION, il est recommandé de toujours définir son propre constructeur par copie lorsque la classe contient des pointeurs! //Ces fonctions sont souvent (toujours) présentes dans une classe lorsque les données sont privées float get_partie_reelle(); // permet d'afficher la partie reelle float get_partie_im(); // permet d'afficher la partie imaginaire void set_partie_reelle(float newx); // permet de placer une nouvelle valeur dans la partie réelle void set_partie_im(float newy);//permet de placer une nouvelle valeur dans la partie imaginaire Complexe operator+(Complexe& c);//Surcharge de l'opérateur plus. void Affiche (); //permet d'afficher le complexxe //Ici se trouvent des fonctions qui n'ont pas besoin d'être utilisées en dehors de la classe private : void Calcule_module (); //Calcule le module du complexe float Calcule_argument (); //Calcule l'argument du complexe }; #endif /* Complexe_hpp */