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++/CLI Discussion :

Association entre deux classes en dotnet


Sujet :

C++/CLI

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut Association entre deux classes en dotnet
    J'utilise visual studio 2005 en c++ managé avec les windows forms.

    Mon problème est que je veux faire une association entre deux classes. Donc dans le constructeur de ma premiere classe j'instancie la deuxieme classe en lui mettant en parametre le pointeur d'autoreferencement "this" (comme démontrer ci-dessous)et c'est ici que j'ai un probleme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public:
             FenetrePoint ^ maFenPoint;
    		Form1(void)
    		{
    			maFenPoint = gcnew FenetrePoint(this);
    		}
    Car quand je declare le constructeur de la deuxieme classe j'utilise '^' comme ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Form1 ^ptrFenetre1;
    		FenetrePoint(Form1 ^laFenetre1):ptrFenetre1(laFenetre1)
    		{
    		}
    Donc sa genere une erreur car "this" et le '^' ne sont pas de meme type.

    Voila j'espere que j'ai été assez clair pour toute question merci de demander.

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    je n'ai pas compris,
    mais c'est quelque chose que tu peux faire
    quel est le message d'erreur ?

    sauf si j'ai pas compris ce que tu voulais faire, cet exemple est fonctionnel :

    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
     
    ref class C1
    {
    public:
    	C1()
    	{
    	}
    };
     
    ref class C2
    {
    private:
    	C1 ^c;
    public:
    	C2(C1 ^s):c(s)
    	{
    	}
    };
     
    int main(array<System::String ^> ^args)
    {
    	C1 ^tt = gcnew C1();
    	C2 ^t = gcnew C2(tt);
        return 0;
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    En fait ce que je voulais faire c quand j'instancie C1 (si je reprends ton exemple) il instancie C2 en lui passant en parametre this pour que C2 puisse utiliser des methodes de C1.
    Est ce que je me suis mieux exprimé ?
    Merci pour ta reponse

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    c'est ce que fait C2 en l'occurence, il prend une référence sur tt qui est une instance de C1

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Merci pour ces reponses !!!!

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

Discussions similaires

  1. Plusieurs associations entre deux classes
    Par aminooos dans le forum Diagrammes de Classes
    Réponses: 1
    Dernier message: 07/08/2011, 20h52
  2. implementer une association entre deux classes uml en java
    Par tabbabi dans le forum Persistance des données
    Réponses: 8
    Dernier message: 19/04/2011, 19h39
  3. deux associations entre deux classes
    Par hamza_bba dans le forum Diagrammes de Classes
    Réponses: 5
    Dernier message: 21/03/2009, 15h40
  4. Association entre deux classes heritees ?
    Par graphicsxp dans le forum Diagrammes de Classes
    Réponses: 3
    Dernier message: 17/03/2009, 15h35
  5. Association entre deux classes (partager les methodes)
    Par shaiton dans le forum Débuter
    Réponses: 3
    Dernier message: 18/02/2009, 17h21

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