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

Langage C++ Discussion :

chat du sheshire : mise en place


Sujet :

Langage C++

  1. #1
    Membre habitué

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 80
    Points : 127
    Points
    127
    Par défaut chat du sheshire : mise en place
    Bonjour,

    j'essaye de mettre en place la technique du chat du cheshire :
    http://bruce-eckel.developpez.com/li...ntation#L5.6.2

    sur un projet dont les temps de compilation deviennent trop long.

    Mon problème est que je ne vois pas trop comment la mettre en place sur un projet existant.

    Mettons que j'ai déjà une classe existante, assez grosse, et référencée un paquet de fois dans ma solution.

    Est-ce qu'il est possible de l'encapsuler dans une structure ad-hoc (contenant un pointeur vers cette classe, comme dans l'exemple de Eckel quoi), sans avoir ensuite à renommer toutes les occurrences de mon nom de classe par handle::maclasse?

    Merci beaucoup

    Régis

  2. #2
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 379
    Points
    11 379
    Billets dans le blog
    10
    Par défaut
    Tu te trompes dans l'interprétation du concept.
    En fait, en appliqant l'exemple à une classe de ton projet qu'on appellerait 'maclasse', ça donnerait ceci :

    fichier maclasse.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class maclasse
    {
    private:
    	struct Cheshire;
    	Cheshire * m_smile;
     
    public:
    	maclasse();
    	~maclasse();
     
    	// déclaration des autres fonctions ...
    };
    fichier maclasse.cpp
    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
     
    #include "maclasse.h"
     
    struct maclasse::Cheshire
    {
    	// membres appartenant initialement à 'maclasse'
    };
     
    maclasse :: maclasse()
    {
    	m_smile = new Cheshire;
    	// initialisation des membres de la structure maclasse::Cheshire
    }
     
    maclasse :: ~maclasse()
    {
    	delete m_smile;
    }
     
    // Implémentation des autres fonctions ...
    Il n'y aurait donc rien de changé pour les fonctions utilisant des objets de type 'maclasse'.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  3. #3
    Membre habitué

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 80
    Points : 127
    Points
    127
    Par défaut
    Ok impeccable,

    c'est vrai que j'avais mal compris.
    Mais du coup, dans l'implémentation des méthodes de "maclasse", je dois remplacer les attributs par

    _smile->attribut

    A chaque fois?
    Et c'est, si j'ai bien suivi, le seul cout de la mise en place de la méthode...

    Merci

  4. #4
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 031
    Points : 11 379
    Points
    11 379
    Billets dans le blog
    10
    Par défaut
    Tout à fait, ce n'est pas bien cher payé, je pense.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  5. #5
    Membre habitué

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 80
    Points : 127
    Points
    127
    Par défaut
    oui en effet!

    Merci beaucoup !

    [Résolu]

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

Discussions similaires

  1. Mise en place d'un chat en ligne
    Par MisterPython dans le forum Réseau/Web
    Réponses: 0
    Dernier message: 31/01/2015, 19h37
  2. Mise en place CHAT / CAM
    Par delavega dans le forum Services
    Réponses: 0
    Dernier message: 25/03/2014, 18h13
  3. Mise en place d'un modul de chat pour l'aide en ligne
    Par camcam8782 dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 06/10/2010, 19h15
  4. mise en place serveur web intranet
    Par gui4593 dans le forum Installation
    Réponses: 7
    Dernier message: 01/01/2004, 18h18
  5. Mise en place d'index....??
    Par liv dans le forum Requêtes
    Réponses: 6
    Dernier message: 18/12/2003, 11h04

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