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 :

R�f�rences sur un vector


Sujet :

C++/CLI

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �m�rite
    Avatar de Happy
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : Autre

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par d�faut R�f�rences sur un vector
    Bonjour,

    J'aimerais savoir comment cr�er une r�f�rence d'un objet d'un vector.

    Mon but, voir commentaires code :
    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
    struct objetPrecieux
    {
    	int taille;
     
    	objetPrecieux( int maTaille )
    	{
    		taille = maTaille;
    	}
    };
     
    vector<objetPrecieux>objets;
    objets.push_back( objetPrecieux(1) );
    objets.push_back( objetPrecieux(2) );
    objets.push_back( objetPrecieux(3) );
     
    /// Comment créer une référence à l'objet de taille 2, je voudrais pouvoir utiliser ceci après avoir créé la référence :
     
    cout << maRef2->taille; // et que ça affiche 2 au lieu d'utiliser objets[1].taille
     
     
    /// Le plus important, comment avoir un vecteur de références sur un autre vecteur
    struct maFonction
    {
    	vector<objetPrecieux*>objets; // contiendra que certaines références que j'aurait passé depuis le vector objets de plus haut, je ne sait pas si c'est bien écrit, juste à titre d'exemple.
    };
    Merci

  2. #2
    Membre chevronn�

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Par d�faut
    Salut,
    N'est-il pas �trange de mettre une fonction dans une structure? Ne faut-il pas plut�t cr�er une classe 'objetPrecieux'?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    class objetPrecieux
    {
    public:
    	int taille;
    public:
    	objetPrecieux( int maTaille ) {	taille = maTaille; }//Constructeur en ligne
    };
    Si j'ai bien compris, il faut faire
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    objetPrecieux* maRef2;
    maRef2 = &objets[1];
    cout << maRef2->taille; // ça affiche 2!
    Ca donne d�j� :
    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
    class objetPrecieux
    {
    public:
    	int taille;
    	objetPrecieux( int maTaille ) {	taille = maTaille; }
    };
     
    vector<objetPrecieux> objets;
    objets.push_back( objetPrecieux(1) );
    objets.push_back( objetPrecieux(2) );
    objets.push_back( objetPrecieux(3) );
     
    objetPrecieux *maRef2;
    maRef2 = &objets[1];
    cout << maRef2->taille << endl;
    Enfin, rien ne t'emp�che de d�clarer
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    vector<objetPrecieux*> objetsRefs;
    et d'y placer des pointeurs sur des objets de la classe 'objetPrecieux'... comme :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    objetsRefs.push_back ( maRef2 );
    cout << objetsRefs[0]->taille << endl; // ça affiche 2 ici aussi!
    objetsRefs[0] = &objets[0];
    cout << objetsRefs[0]->taille << endl; //Là ça affiche 1 cette fois!

  3. #3
    Membre �m�rite
    Avatar de Happy
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : Autre

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par d�faut
    Merci beaucoup pour cette r�ponse ultra compl�te.

    Je peux mettre r�solu.

  4. #4
    Membre exp�riment�
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 159
    Par d�faut
    Bonjour,
    Juste pour r�pondre sur ce point pr�cis maintenant que la question principale est r�solue :
    Citation Envoy� par bertry Voir le message
    Salut,
    N'est-il pas �trange de mettre une fonction dans une structure? Ne faut-il pas plut�t cr�er une classe 'objetPrecieux'?
    En C++, la seule diff�rence (� ma connaissance) entre `class` et `struct` est que la `struct` a tous ses membres publics par d�faut (respectivement priv�s pour une `class`).
    Le reste est identique.

  5. #5
    Membre chevronn�

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de D�me (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Par d�faut
    Salut ValAa,

    En effet, j'�tais convaincu que les structures ne pouvais contenir que des membres donn�es et pas des fonctions membres! Et j'avais tort!!

    Apr�s quelques r�visions, la seule diff�rence entre une classe et une structure, c'est que dans la structure, par d�faut, tous les membres sont publics, alors que dans la classe ils sont, par d�faut, tous priv�s. ( Comme tu l'as pr�cis� toi-m�me )

    Merci pour cette remarque ValAa

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. it�rer sur une r�f�rence constante de vector
    Par manonoc dans le forum SL & STL
    R�ponses: 1
    Dernier message: 17/08/2008, 12h50
  2. Retourner une r�f�rence sur un std::vector
    Par Rodrigue dans le forum C++
    R�ponses: 12
    Dernier message: 13/10/2007, 16h30
  3. attribut r�f�rence sur un vector
    Par youhil dans le forum SL & STL
    R�ponses: 2
    Dernier message: 28/05/2006, 20h27
  4. std::sort() sur std::vector()
    Par tut dans le forum SL & STL
    R�ponses: 20
    Dernier message: 05/01/2005, 19h15
  5. [debutant STL] question sur les vectors
    Par killerjeff dans le forum SL & STL
    R�ponses: 13
    Dernier message: 19/08/2004, 17h32

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