IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Probleme de classe CComplex


Sujet :

MFC

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Probleme de classe CComplex
    Bonjour,
    Je sais que la rubrique est peut etre inaproprie mais je vais me justifier:
    J ai actuellement deux petits problemes distinct. Je ne pense pas que ce soit tres dur, mais ca ruine l avancement du reste de mon code et la verification de mes resultats numeriques

    *Malgres tous mes efforts, je n ai pas reussi a utiliser la class <complex> de la librairie standard(je travaille sur Visual C++ 6.0)
    J ai beau ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <iostream>
    #include <complex>
    using namespace std;
    Il ne m 'est pas possible de definir des fonctions membres d une classe renvoyant un nombre complexe ou meme de definir un nombre complexe
    Faut il rajouter une instruction particuliere due au "template"?

    *Par defaut et pour avancer, je me suis resolu a reecrire la classe complexe avec les operateur dt j avais besoin.
    Je n arrive a rendre l operateur * commutatif pour lers complexe
    (cad , si A et B nombres complexes , je sais faire A*B, B*2 mais pas 2*A)

    J ai beau tourner ds ts les sens votre excellent tutorial...je lutte.
    Il me semble qu il faut sortir cette ligne de mon .h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CComplexe operator*(double,const CComplexe &);
    ou la definir comme une fonction ami (friend) mais malgres ts mes efforts le compilateur continu a m'insulter.
    Ci joint mon code ds mon cpp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CComplexe CComplexe::operator *(double fois,const CComplexe& c)
    {
    	CComplexe result(c.m_Reel*fois,c.m_Imaginaire*fois);
    	return result;
    }
    J ai l impression d etre tres proche et je sais que cela ne doit pas etre trop difficile...c'est d'autant plus frustrant!
    En vous remerciant par avance

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut
    sur une fonction amie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // .H
    friend CComplexe operator*(double,const CComplexe &);
    // .cpp
    CComplexe operator *(double fois,const CComplexe& c)
    {
       CComplexe result(c.m_Reel*fois,c.m_Imaginaire*fois);
       return result;
    }
    ça devrait etre mieux

  3. #3
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Comment essayais-tu de te servir de la classe standard ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  4. #4
    Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup pour la promptitude de la reponse, et ca marche sans probleme.
    J essayais de me servir de la librairie standard comme suit, par exemple, ds l'une des fonctions de ma classe de calcul:

    Ds le ccp//

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <iostream> 
    #include <complex> 
    using namespace std;
     
    complex<double> CCalcul::Gama(double Lamb,double z)
    {
     
    if(RatioSK(Lamb,z)>1)		//Gamma Imaginaire pur
    return(complex(0,Kapa(Lamb,z)*(sqrt(RatioSK(Lamb,z)-1))));
     
    else		//Gamma Reel
    return(complex(Kapa(Lamb,z)*sqrt(1-RatioSK(Lamb,z)),0));	
     
    }
    et dans le .h//

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    complex<double> Gama(double,double);
    Merci encore et vivement que je puisse depaner qq un a mon tour ( j'y travaille )

  5. #5
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Pour t'en servir à l'intérieur du code de ta fonction, tu dois continuer à préciser ton paramètre template.
    Autrement, s'il s'agit juste là d'une erreur de recopie, quel était ton message d'erreur ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  6. #6
    Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    J ai 5 erreurs:
    ds le h//:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    error C2143: syntax error : missing ';' before '<' 
    error C2501: 'complex' : missing storage-class or type specifiers
    Au niveau de ma declaration: complex<double> Toto();

    Le reste decoule de ca (fonction non reconnue ds le cpp)

  7. #7
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    En faisant cela, tu déclares une fonction (son prototype) et non une variable. C'est ce que tu cherches à faire si je t'ai bien compris.

    Le compilateur n'a pas l'air de trouver complex. Le fichier à inclure l'a bien été dans le .h ? Et si tu spécifies explicitement que complex se trouve dans std -- la seule bonne méthode pour les fichiers d'entêtes.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  8. #8
    Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci bcp

Discussions similaires

  1. [FLASH MX2004] (AS 2.0) Probleme de classe
    Par t_o_7_ dans le forum Flash
    Réponses: 4
    Dernier message: 12/07/2005, 17h38
  2. [Super debutant] probleme de "classes"
    Par frett dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 26/03/2005, 12h43
  3. Problème de "Class"
    Par Mr.KisS dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 01/10/2004, 23h23
  4. probleme compilation classe avec Borland c++ compiler 5.5
    Par softblue dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 17/06/2004, 15h16
  5. problème de classe d'association
    Par Nip dans le forum Diagrammes de Classes
    Réponses: 8
    Dernier message: 08/06/2004, 16h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo