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 :

Compréhension d'une instruction


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 94
    Par défaut Compréhension d'une instruction
    j'ai un fichier node.cpp leur contenue est :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    #include <stdio.h>
     
    class Node
    {
    public:
    	Node(int x=0,int y=0,int z=0,int cost=0, Node *parent=NULL);
    	~Node();
     
     
    	void SetAll(int x,int y,int z,int cost,Node *parent);
    	void SetAll(Node *n);
     
    	void SetX(int x){m_x = x;}
    	int GetX(){return m_x;}
     
    	void SetY(int y){m_y = y;}
    	int GetY(){return m_y;}
     
    	void SetZ(int z){m_z = z;}
    	int GetZ(){return m_z;}
     
    	void SetCost(int cost){m_cost = cost;}
    	int GetCost(){return m_cost;}
     
    	void SetParent(Node *parent){m_parent = parent;}
    	Node *GetParent(){return m_parent;}
     
    	void Print();
     
     
    private:
    	int m_x; // position x
    	int m_y; // position y
    	int m_z; // position z (non utilisé pour le moment)
    	int m_cost; // coût individuel
     
    	Node *m_parent;
    };
     
     
    Node::Node(int x,int y,int z,int cost,Node *parent)
    {
    	SetAll(x,y,z,cost,parent);
    }
     
    Node::~Node()
    {
    }
     
    void Node::SetAll(Node *n)
    {
    	m_x = n->GetX();
    	m_y = n->GetY();
    	m_z = n->GetZ();
    	m_parent = n->GetParent();
    }
     
    void Node::SetAll(int x,int y,int z,int cost,Node *parent)
    {
    	m_x = x;
    	m_y = y;
    	m_z = z;
    	m_cost = cost;
    	m_parent = parent;
    }
     
    void Node::Print()
    {
    	int px=0,py=0;
    	if(m_parent!=NULL)
    	{
    		px = m_parent->GetX();
    		py = m_parent->GetY();
    	}
    	printf("x=%d y=%d cost=%d xparent=%d yparent=%d\n",m_x,m_y,m_cost,px,py);
    }
    et j'ai l'instruction :node sourceDest[2]
    si j'ecrit : sourceDest[0].SetAll(0,0,0,0,NULL); je fait qaoi
    svp aidez-moi

  2. #2
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Par défaut
    Ta question n'est pas très claire, c'est le moins qu'on puisse dire : quel est le problème exactement?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 94
    Par défaut
    merci pour votre atention,
    mon question est lorsque j'ai cree l'instruction : sourceDest[SOURCE].SetAll(0,0,0,0,NULL);teleque : node sourceDest[2], est source est un const = 0 dans un autre fichier .cpp dans un meme projet quelle mon programme fait quoi

  4. #4
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Par défaut
    L'expression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     sourceDest[0].SetAll(0,0,0,0,NULL);
    va appeller la methode SetAll de l'objet sourceDest[0] de type node, avec les paramettres donnés.

    Cette méthode visiblement ne fait que mettre les paramettres donnés dans les membres de l'objet.

    L'expression sourceDest[0] veut dire qu'on prends le premier objet du tableau sourceDest qui est un tableau de plusieurs objets, 2 ici puisque tu as utilisé sourceDest[2] pour le déclarer. Il y a donc comme objet sourceDest[0] et sourceDest[1].

    Est-ce que cela réponds à ta question?

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 94
    Par défaut
    bonsoir,
    merci klaim et merci pour tout le monde, oui ta réponse est satisfaisante

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

Discussions similaires

  1. [C#] Comment exécuter une instruction dynamiquement ?
    Par NeoMan dans le forum Contribuez
    Réponses: 11
    Dernier message: 15/01/2009, 16h45
  2. Réponses: 13
    Dernier message: 27/12/2005, 09h17
  3. Une instruction s'execute qd on appuie sur entree
    Par nbutin dans le forum C++Builder
    Réponses: 1
    Dernier message: 17/08/2004, 00h48
  4. Problème avec une instruction OUTER /Postgres
    Par Volcomix dans le forum Langage SQL
    Réponses: 14
    Dernier message: 21/04/2004, 16h56
  5. Passer de la zone d'édition vers une instruction sql
    Par tripper.dim dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/11/2002, 14h44

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