// // Complexe.cpp // exocours // // Created by Valentin LEMERCIER on 24/01/2018. // Copyright © 2018 Valentin LEMERCIER. All rights reserved. // #include "Complexe.hpp" //Include du header #include //Constructeurs Complexe :: Complexe( ){ partie_reelle =0; partie_im = 0; module=0; argument=0; } Complexe :: Complexe(float x,float y){ partie_reelle =x; partie_im =y; Calcule_module(); Calcule_argument(); } /* Complexe :: Complexe(const Complexe & C){ partie_reelle =C.partie_reelle; partie_im =C.partie_im; module=C.module; argument=C.argument; } */ //Ces fonctions privées ont été définies de deux manière différentes. L'une en void, l'autre en float. Ceci n'est pas très propre mais permet de donner un exemple pédagogique. void Complexe:: Calcule_module(){ module = sqrt(partie_reelle*partie_reelle+partie_im*partie_im); } float Complexe:: Calcule_argument(){ return atan(partie_im/partie_reelle); } //Remarquez ici, que le changement de la partie réelle ou imaginaire, impose le calcul de l'argument et du module. Ceci n'aurait pas été possible en laissant les données membre en public. void Complexe::set_partie_reelle(float newx){ partie_reelle= newx ; Calcule_module(); argument=Calcule_argument(); } void Complexe::set_partie_im(float newy){ partie_im= newy ; Calcule_module(); argument=Calcule_argument(); } float Complexe::get_partie_im() { return(partie_im); } float Complexe::get_partie_reelle() { return(partie_reelle); } //Affichage void Complexe::Affiche() { cout<<"partie réelle: "<