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 :

Utilisation de classe deja instanciés


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Verbalinsurection
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut Utilisation de classe deja instanciés
    Bonjour à tous !

    Ça faisait un petit moment que j'étais pas venu mais là je bute sur un problème qui me parais bizarre, je m'explique :
    Par exemple dans une fonction j'instancie une classe, je créer mon nouvel objet qui se nomme toto, je crée par la suite un nouvel objet issue d'un classe différente du premier que j'appel tutu.

    L'objet tutu, dans son constructeur doit accéder à des informations contenu dans toto par exemple :

    • toto est la classe contenant les infos d'un utilisateur
    • tutu est la classe de la fenêtre qui doit afficher ces infos, comment fait-elle pour afficher ces infos étant donné que l'objet n'a pas été créer par elle donc elle ne connait pas son adresse?


    J'espère que j'ai été asser clair dans mon explication et je vous remercie d'avance pour votre aide

  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
    Qu'est-ce qui t'empêche de passer au constructeur de tutu une lien (pointeur, shared_ptr, référence...) vers l'objet toto qui lui est associé ?
    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
    Membre chevronné
    Avatar de NewbiZ
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Par défaut
    ...Ou de faire une requête à un singleton UserManager.

    C'est pas les solutions qui manquent!

  4. #4
    Membre confirmé Avatar de Verbalinsurection
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut
    Merci à vous deux

    JolyLoic -> Oui mais par exemple, si je veux créer tutu dans une fonction différente de celle où je créer toto? il faut passer un pointeur de fonction en fonction?
    Je connais pointeur et référence mais qu'es ce que shared_ptr ?

    NewbiZ -> Peux tu m'expliquer ce qu'est une requête à un singleton UserManager? ça m'interesse

    Et surtout encore merci à vous

  5. #5
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Voici un exemple de ce que propose JolyLoic
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    #include <string>
     
    class Toto
    {
    std::string m_name;
    public:
    std::string getName() const {return m_name;}
    };
     
    class Tutu
    {
    public:
     
    Tutu(const Toto* const toto)
    {
     
            if(toto!=0)
            {   
            std::string name=toto->getName();
            }
    }
     
    };
     
    Toto* foo()
    {
      return new Toto;
    }
     
    int main()
    {
    Tutu tutu(foo());
    return 0;
    }
    Edit : NewbiZ >> je pense que c'est une idée assez mauvaise.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  6. #6
    Membre confirmé Avatar de Verbalinsurection
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Septembre 2007
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 127
    Par défaut
    Merci à toi Davidbrcz !

    J'ai un peu de mal à comprendre ton code je dois avouer

    Voici un truc plus clair de ma question :
    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
    24
    class Toto
    {
    public:
    	int numeroDebut;
    };
     
    class Tutu
    {
    public:
    	int numero;
    };
     
    void test()
    {
    	//Ici je veux pouvoir appeller un un nouveau thread mais qu'il puisse créer et agire sur Toto en recuperant des infos de tutu
    	//dois-je passer en parametre à test un pointeur vers tutu puis à mon nouveau thread encore un pointeur vers tutu ?
    }
     
    int main()
    {
    	Tutu tutu;
    	test();
    	return 0;
    }

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/01/2012, 17h59
  2. Utilisation de toutes les instances d'une classe dans un while
    Par canaboss dans le forum Débuter avec Java
    Réponses: 12
    Dernier message: 28/04/2008, 15h28
  3. [Taglibs] Utiliser les classes css ?
    Par PeteMitchell dans le forum Struts 1
    Réponses: 4
    Dernier message: 05/05/2007, 01h31
  4. utiliser des classes dont on n'a pas le source
    Par kocin dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 28/08/2004, 16h05
  5. [Debutant] probleme pour utiliser les classes d'un .jar
    Par pissek dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 12/05/2004, 18h21

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