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

C++ Discussion :

Probleme simple qui ne fonctionne pourtant pas


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 2
    Par défaut Probleme simple qui ne fonctionne pourtant pas
    Bonjour, j'ai codé un mécanisme qui ne fonctionne pas mais je ne comprends pas pourquoi?? voici ce que çà donne (très simplifié):

    Je crée une classe qui effectue le traitement global et regroupant les traitement génériques, et d'autre(s) classe(s) les traitement spécifiques:

    La classe CToto déclare des objets des classes de traitement spécifique, et c'est là le problème, les classe spécifiques utilisent les méthodes génériques, donc je fais passé en argument un type "CToto":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #include "Titi.h"
     
    class CToto  //générique et global
    {
    public:
         CToto();
     
         void TraitementGlobal();
         void TraitementGenerique();
     
         CTiti mTiti;
    };
     
    //Dans le CPP
    void CToto::TraitementGlobal()
    {
         mTiti.TraitementSpecifique(*this);
    }
     
    void CToto::TraitementGenerique()
    {
         //Traitement générique
    }

    Puis je crée plusieurs autres classe dédiées à un traitement spécifique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include "CToto"            
    class CTiti //spécifique
    {
    public:
        CTiti ();
     
        void TraitementSpecifique(CToto& toto) //ICI PROBLEME! il ne reconnais pas le type??
       {
            toto.TraitementGenerique();
       }
     
    };
    Si quelqu'un aurait la sympathie de m'éclairer sur le problème, ou bien me proposer une autre solution..

    Merci d'avance, j'attends avec impatience vos réponses!

    Victoire

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Pour ton problème :
    http://cpp.developpez.com/faq/cpp/?p...erence_croisee

    En outre, je pense qu'il te manque des virtuels et des passages pas par copie (slicing) pour que ce que tu veux faire marche, mais avec des toto/titi, j'ai du mal à voir exactement ce que tu veux faire, donc ne peux t'aider (et c'est peut-être lié à tes simplifications pour poster le code).
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 2
    Par défaut Super! Ca Marche [RESOLU]
    Bonjour,

    Oui effectivement mon problème était un header entre croisé. Il à suffit donc de faire une prédéclaration de la classe tel que:

    class CTiti;

    class CToto
    {
    .....

    };
    et puis dans le cpp d'ajouter l'include:
    #include "CToto.h"
    ainsi je peux faire appelle à la classe "maitre" dans les classes "esclaves"

    Merci encore!
    Victor

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/11/2010, 14h25
  2. Une instruction simple qui ne fonctionne pas
    Par Claude_Azoulai dans le forum VB.NET
    Réponses: 3
    Dernier message: 14/02/2010, 17h08
  3. [RegEx] Regex simple qui ne fonctionne pas
    Par Bruno.C dans le forum Langage
    Réponses: 4
    Dernier message: 03/12/2008, 15h05
  4. Filtres tout simples qui ne fonctionnent pas
    Par cuterate dans le forum Requêtes et SQL.
    Réponses: 29
    Dernier message: 13/06/2008, 11h08
  5. Programme Perl tout simple qui ne fonctionne pas
    Par jejerome dans le forum Langage
    Réponses: 4
    Dernier message: 26/02/2006, 23h58

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