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 :

C++/CLI : utilisation d'un tableau dans une class


Sujet :

C++/CLI

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Par défaut C++/CLI : utilisation d'un tableau dans une class
    Bonjour,

    J'ai beau cherché partout je ne trouve ni explication claire, ni exemple simple montrant comment utiliser un tableau dans une classe.

    Je trouve bien quelques trucs, mais cela me paraît très embrouillé et je me perds dans les ^ <> -> :: gcnew .....


    Je prends une classe ultra simple contenant une variable entière telle que celle ci dessous

    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
    #pragma once
    using namespace System;
     
    public ref class Cma_Class
    {
    private:
        int var;
    public: 
        Cma_Class(void);
     
        property int Variable
        { 
            int get()  {return var;}
            void set (int value) { var = value;}
        }
    };

    Je l'utilise de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Cma_Class ^ X = gcnew Cma_Class;
    X-> Variable = 25;
    int y = X->Variable;

    Maintenant je veux utiliser 256 variables et évidemment je n'ai pas envie de créer var1, var2, var3, var4, ...., var256, mais d'utiliser un tableau.

    Et ma question est :
    Comment déclarer le tableau, le dimensionner et l'utiliser ?

    Si je remplace la déclaration int var par array <int>^ var

    Où mettre le gcnew array <int> (256) ?
    Comment faire get() et set() ?
    Comment faire le X->...... ?

    J'ai essayé plusieurs trucs, mais rien ne marche ..

    J'ai pensé à la solution qui consisterait à utiliser la classe simple dans une autre classe, mais je suis trop nul pour savoir faire ça.

    Merci d'avance à ceux qui pourraient m'aider ..

    Bonne journée

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Bonjour,
    Ça devrait faire un truc à peu près comme ça:
    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
    //Cma_Class.h
     
    public ref class Cma_Class
    {
    private:
        array<int>^ var;
    public: 
        Cma_Class(void);
     
        property array<int>^ Variable
        { 
            array<int>^ get()  {return var;}
            //Peut-être supprimer cette ligne: 
            //On ne veut pas forcément un setter pour le tableau entier
            void set (array<int>^ value) { var = value;} 
        }
     
        int GetAt(int ix) { return var[ix]; }
        void SetAt(int ix, int val) { var[ix] = val; }
    };
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //Cma_Class.cpp
     
    #include "Cma_Class.h"
     
    Cma_Class::Cma_Class(void)
    {
        var = gcnew array<int>(256);
    }
    Je n'ai pas compilé, mais ça devrait ressembler à ça.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Par défaut
    Merci beaucoup .... ça marche

    Je ne pense jamais au fichier cpp ...

    Bon maintenant je passe à l'étape suivante qui consiste à créer une liste d'objets de classe ma_Class ...

    Je mettrai "résolu" quand j'aurais fini avec cette seconde étape parce que j'aurais peut-être d'autres questions.

    Merci encore et bonne journée

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 243
    Par défaut
    Bon ben ça y est .. ça a l'air de marcher ...

    J'arrive à faire ma liste d'objets et la visualiser dans une listView !!

    Merci mille fois.

    Bonne journée

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

Discussions similaires

  1. Utilisation d'un tableau dans une structure
    Par Angelique64 dans le forum VB.NET
    Réponses: 2
    Dernier message: 27/06/2009, 11h05
  2. Réponses: 2
    Dernier message: 31/01/2008, 13h59
  3. Utilisation d'un tableau dans une requête
    Par stigma dans le forum Access
    Réponses: 2
    Dernier message: 20/12/2007, 10h42
  4. tableau dans une classe
    Par blastmanu dans le forum C++
    Réponses: 6
    Dernier message: 18/04/2006, 14h18
  5. [debutant] Utilisation de l'operateur = dans une classe
    Par Battosaiii dans le forum Débuter
    Réponses: 8
    Dernier message: 10/11/2005, 23h01

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