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 :

Constructeur avec attribut friend


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Points : 31
    Points
    31
    Par défaut Constructeur avec attribut friend
    Bonjour,

    Je développe deux bibliothèques (DLL) C++. Dans la première, j'ai créé simple une classe. Dans la seconde, je souhaiterais pouvoir utiliser la classe depuis un pointeur mais sans pouvoir l'instancier.

    Bibliothèque 1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Toto{
    public:
        Toto();
        getTiti();
    }
     
    void maFunction1(){
        Toto t;    // autorisé
    }
    Bibliothèque 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void maFunction2(Toto &toto){
        toto.getTiti();    // autorisé
        Toto t;     // à interdire
    }
    Dois je utiliser l'attribut "friend", si oui comment l'utiliser ?

    Merci

  2. #2
    Membre expérimenté Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Points : 1 396
    Points
    1 396
    Par défaut
    Salut,

    La première étape est de mettre le constructeur en privé, pour refuser toute instanciation explicite par défaut. Puis après tu mets le friend.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class toto
    {
      private:
        friend void ::maFunction1();
        toto(){}
    };

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 42
    Points : 31
    Points
    31
    Par défaut
    ca fonctionne, merci beaucoup.

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

Discussions similaires

  1. constructeur avec un attribut Textbox
    Par swoop314 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 18/11/2009, 14h27
  2. probleme avec operator<< friend
    Par d-a-v-e dans le forum C++
    Réponses: 16
    Dernier message: 27/01/2006, 09h29
  3. [MFC]Probleme avec attributs d'une LOGFONT
    Par Fildz dans le forum MFC
    Réponses: 3
    Dernier message: 08/01/2006, 17h59
  4. [prog dynamique]Constructeur avec type primitif
    Par -=Spoon=- dans le forum Langage
    Réponses: 2
    Dernier message: 16/12/2004, 10h33
  5. Réponses: 7
    Dernier message: 30/09/2004, 12h55

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