eishtein
Messages postés52Date d'inscriptiondimanche 6 décembre 2009StatutMembreDernière intervention23 janvier 2014
-
9 nov. 2010 à 17:18
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023
-
9 nov. 2010 à 23:56
bonjour les gars;
comme je suis un débutant en c++, j'aimerais bien savoir comment on pourrait convertir un nombre de type quelconque en un nombre de type 'COMPLEXE' via un constructeur de conversion explicite autre que celui défini par la classe suivante :
Ceci bien sûr de tel sorte à ce que mon constructeur par défaut fasse lui-même la conversion exlpicite comme c'est le cas pour les autres types prédéfinis [CE QUI EST UN PEU EMBARRASSANT].je vous serais très reconnaissant de me répondre à ce message.
ET MERCI D'AVANCE
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 9 nov. 2010 à 18:01
Que cherches-tu à faire ?
A faire en sorte qu'un nombre réel soit convertis en nombre complexe ?
Dans ce cas tu fais un deuxième constructeur qui prend un en argument un nombre réel.
complex::complex(double i = 0.)
: a(i), b(0)
{
}
Ainsi, une variable de type complexe peut être initialisé avec un nombre réel.
Pour faire des calculs entre un nombre réel et un nombre imaginaire, il te faut aussi redéfinir les operateurs de ta classe (tu en ajoutes d'autre).
Quelques remarques totalement facultatives:
- Une classe prend généralement une majuscule
- Un attribut de classe est différencié des variables par un "_". Exemple: a devient _a
- Indique le nom de la variable dans un prototype de fonction plutot que de mettre que le type, c'est plus lisible.
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 9 nov. 2010 à 23:56
Si tu as bien tout suivi, tu peux faire ceci:
Complexe c(0,0);
double d = -12.543;
c = d;
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
eishtein
Messages postés52Date d'inscriptiondimanche 6 décembre 2009StatutMembreDernière intervention23 janvier 2014 9 nov. 2010 à 23:37
merci pour la réponse...tout est clair maintenant à part un détail: est-t-il préférable de déclarer une méthode pour transférer une variable dans la partie imaginaire , ou bien est-ce que c aussi faisable avec mon constructeur par défaut? JE M'EXPLIQUE :
>dans le cas ou j'ai un double -12.543 que j'ai reçu comme donnée du DELTA d'une équation , ce qui veut dire bien évidemment qu'il faut le convertir en un '(12.543)i'.