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

Windows Forms Discussion :

[C++.net] Classe managée


Sujet :

Windows Forms

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Points : 343
    Points
    343
    Par défaut [C++.net] Classe managée
    J'ai un probléme de base et j'aimerai avoir des precisions car c'est vraiment un probléme de merde et res facile a regler je pense :
    Je vien de faire mon analyse (diagramme de classe) et je tape mes classe dans mon .h comme d'habitude. je compile : bon : pas de probleme.
    Ensuite je rajoute un attribut a ma classe :
    System::IO:orts::SerialPort^ Port1;

    Et bien il me dit : en gros que une classe non managée ne peut pas avoir un membre managée comme attribut. Bon pas de problème je vais rajouter un petit __gc devant ma class (je suis tres recement sur le framework donc la je vien peut etre de dire une connerie ^^)
    Et avec __gc il me dit quand je compile :
    error C4980: '__gc' : use of this keyword requires /clr:oldSyntax command line option

    et la j'avoue que je patauge alors si vous savez comment on peut declarer un membre managé dans une classe non managé ou bien comment on fait pour dire que ma classe est une classe managé ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Points : 343
    Points
    343
    Par défaut
    Bon après mainte recherche car personne ne repond ...
    je vien de trouver le mot clé ref qui se place avant le mot clé class et qui indique que la classe est du type managée __gc et __value et autre mot clé du meme style n'existe plus dans cette version du framework :
    car ce sont des mot clé du framework1.0 et moi je suis au 2.0
    mais maintenant un autre probleme se pose :
    on ne peut pas déclarer une classe friend dans une classe managée : alors comment faire pour que mes classes dérivé puissent acceder a mes attribut private ? sachant que je veu garder une encapsulation.
    je veu pas coder a la "barbare"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Les classes dérivées peuvent accéder aux membre protected et non private.
    Il suffit de déclarer les membres voulus protected dans la classe de base.

    Rien à voir avec friend où il n'y a pas de notion de dérivation.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Points : 343
    Points
    343
    Par défaut
    ouais on vien de me le dire désolé d'avoir mis un message si simple a resoudre mais j'aurai du mieux ecouter en cours quand j'etais encore a l'université maintenant c'est trop tard lol.
    merci beaucoup NicolasG
    See U later

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

Discussions similaires

  1. Utilisation des classes managées .net dans PHP
    Par Hinault Romaric dans le forum Langage
    Réponses: 2
    Dernier message: 19/02/2011, 10h46

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