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 :

Passer du .Net au C++


Sujet :

C++

  1. #1
    Membre �clair�
    Avatar de Flor�al
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    456
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 456
    Par d�faut Passer du .Net au C++
    Voila, apres m'etre rendu compte des inconveignant du .Net (le framework doit �tre install� sur la machine de l'utilisateur), j'ai d�cid� de consolider mes connaissances en c++, c'est pourquoi je me pose ces questions:

    1 - Les accesseurs
    En VB .NET on peut creer des accesseurs:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Property Nom_De_L_Accesseru() As Type
       Get
          return Propriete_Privee
       End Get
       Set(ByVal Value As Type)
          Propriete_Privee = Value
       End Set
    End Property
    Quelle est l'�quivalant en C++? Ca me simplifierait grandement la vie: plutot que de mettre Multes methode GetPropriet1(), SetPropriet1(int machin) Get Propriete2() etc.

    2 - Les collections
    En VB .Net on tuilise des taleaux d'objet
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Dim MaCollection As ArrayList
    En fait c'est un tableau qui contient des �l�ments de type Object. Un type Object peut �tre n'importe quoi, c'est une sorte de Jocker, quand on connais pas le type de telle ou telle variable. Si bien qu'un ArrayList, � l'indice 0 peut contenir un String, � l'indice 1, un Intguer, � l'indice 3, un objet de type Tartampion (une classe d�finie plu tot)...
    Existet'il un �quivalent en C++?

    Pour le moment je n'ai que ces questions qui me viennent � l'esprit.

  2. #2
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    1. La mani�re d'�crire des accesseurs est la m�me (il te faudra un SetMachin et un GetMachin). Mais pour l'exemple que tu cites il vaudra mieux mettre ta variable directement publique et oublier les accesseurs. Jette un oeil � la FAQ C++ qui en parle longuement.

    2. En C++ le typage est plus fort, et on ne stockera des objets diff�rents dans un m�me conteneur que dans des cas tr�s rares. Pour �a la seule solution est d'utiliser du void*, ou un peu mieux : boost::any, qui encapsule �a de mani�re plus propre. Mais comme je t'ai dit, en g�n�ral on stocke soit des objets du m�me type, soit parfois des pointeurs sur des objets polymorphiques.

  3. #3
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Pour la premi�re question, je rajouterai de chercher dans le forum visual un fil qui doit avoir moins de deux jours sur le passage de BCB � VC.
    La mise en place de propi�t�s a �t� succinctement abord�e.

    Mais de toutes fa�on, lis d'abord la FAQ.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  4. #4
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    Pour le 2/,
    tu cites �a comme un avantage mais c'est plutot un inconv�nient pour moi. Le moindre tableau de T il faut caster partout ton code. Ca gave vite de devoir cr�er son propre type tableau de T a chaque fois. L� dessus C++ est bien meilleur gr�ce aux templates, et d'ailleurs les generics vont corriger ce point avec la prochaine release de .Net.
    Jette un oeil � l'exemple sur vector dans la FAQ.
    Ce n'est pas une histoire de typage, qui est tr�s fort aussi dans .Net. C'est juste que tous les objets h�ritent de System.Object, et donc on peut faire du polymorphisme. En C++ c'est pas le cas. Donc faut cr�er ta classe de base dont tout le monde h�rite. Mais �a a aussi des inconv�nients. Par exemple un tableau de int sera bien plus gros en .Net car c'est des Int32 et ils h�ritent de ValueType et �a alourdit, en plus de tout le tsointsoin pour le garbage collecting.

    En ce qui concerne la redistribution de .Net, c'est plutot la taille qui est g�nante. Un prog C++ (ou autre) aussi tu as souvent des choses � refiler.

  5. #5
    mat.M
    Invit�(e)
    Par d�faut
    .NET c'est une plateforme de Microsoft qui reprend des m�chanismes des MFC notamment ; Il me semble que l'architecture Doc/Vue existe avec .NET ( VB je sais pas mais C# j'en suis presque s�r)

    Donc ta question est un peu plus sp�cifique technos microsoft que C++ en g�n�ral.
    Pour les collections d'objet pour r�pondre de mani�re pratique tu as la STL en C++ ou bien les MFC avec VC++ ( ou bien VCL avec Borland )


    En VB .Net on tuilise des taleaux d'objet
    Existe t'il un �quivalent en C++?
    Mes pr�decesseurs ont largement r�pondu , c'est assez rarement utilis�.
    Sous Microsoft il existe le type _variant pour la technologie COM afin d'assurer une compatibilit� de type entre les languages : une dll COM peut-�tre exploit�e sans pb avec VB , Delphi etc.

    Mais pour passer au C++ je crois que le mieux est tout de m�me de partir avec les bases

  6. #6
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut
    Citation Envoy� par mat.M
    .NET c'est une plateforme de Microsoft qui reprend des m�chanismes des MFC notamment ; Il me semble que l'architecture Doc/Vue existe avec .NET ( VB je sais pas mais C# j'en suis presque s�r)
    Comment �a �a reprend les MFC? Pour Doc/Vue non y'a rien il me semble. Les delegates �a change la donne.
    Y'a eu un article d'un mec (non MS) en r�ponse � une attaque de IBM-Java � ce sujet (MVC) il me semble, mas je le retrouve pas.

  7. #7
    CGi
    CGi est d�connect�
    Expert confirm�
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    D�tails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par d�faut
    Le .Net et la VCL ont beaucoup plus de ressemblance.
    Tellement que beaucoup de m�thode porte le m�me nom.
    (C'est le m�me chef de projet qui � dirig� le d�veloppement des deux.)

    J'ai connu BCB avant .Net
    Mais en passant de l'un � l'autre on a l'impr�ssion avanc� en terrain connu.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqu� ? (Jacques Rouxel)

  8. #8
    mat.M
    Invit�(e)
    Par d�faut
    Comment �a �a reprend les MFC? Pour Doc/Vue non y'a rien il me semble.
    du calme du calme,

    Dans les samples pour C# , il ya Sketch radicalement le m�me exemple que pour VC++/MFC .
    Et c'est plus lent et moins performant....sous C# �videmment

Discussions similaires

  1. R�ponses: 1
    Dernier message: 08/03/2006, 20h06
  2. R�ponses: 3
    Dernier message: 28/02/2006, 08h43
  3. [VB.NET] Passer une valeur de control entre deux form
    Par TheMacleod dans le forum Windows Forms
    R�ponses: 5
    Dernier message: 27/12/2005, 11h07
  4. R�ponses: 8
    Dernier message: 30/05/2005, 13h55
  5. [Kylix] D�brider Kylix sans passer par le Net
    Par BXDSPORT dans le forum EDI
    R�ponses: 1
    Dernier message: 23/03/2003, 10h52

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