Partage
  • Partager sur Facebook
  • Partager sur Twitter

classes

explication

Sujet résolu
    1 octobre 2008 à 2:34:08

    bonsoir il y a une partie de ce code que je ne comprend pas

    //fichier.h
    
    #ifndef POINT_H
    #define POINT_H
     
    class Point
    {
      public:
        double x,y;
        double distance(const Point &P);
        Point milieu(const Point &P); 
    };
    #endif
    
    
    #include "Point.h"
    #include <cmath>
    
    /*c'est à partir d'ici que je ne comprend pas . Pourquoi  (x - P.x).  
    le x  il fait quoi quelqu'un peut m'expliquer en detail.
    pourquoi pas *.x et puis on met   x tout court merci*/ 
    
    //fichier.cpp
    
    double Point::distance(const Point &P)
    {
        double dx,dy;
        dx = x - P.x;
        dy = y - P.y;
        return sqrt(dx*dx + dy*dy); 
    }
    
    
    Point Point::milieu(const Point &P)
    {
        Point M;
        M.x = (P.x+x) /2;
        M.y = (P.y+y) /2;
        return M;
    }
    #include <iostream> 
    using namespace std;
    #include "Point.h"
     
    
    
    int main() 
    { 
        Point A, B, C;
        double d;
        cout << "SAISIE DU POINT A" << endl;
        cout << "Tapez l'abscisse : "; cin >> A.x;
        cout << "Tapez l'ordonnée : "; cin >> A.y;
        cout << endl;
        cout << "SAISIE DU POINT B" << endl;
        cout << "Tapez l'abscisse : "; cin >> B.x;
        cout << "Tapez l'ordonnée : "; cin >> B.y;
        C = A.milieu(B);
        d = A.distance(B);
        cout << endl;
        cout << "MILIEU DE AB" << endl;
        cout << "L'abscisse vaut : " << C.x << endl;
        cout << "L'ordonnée vaut : " << C.y << endl;
        cout << endl;
        cout << "La distance AB vaut :" << d << endl;
        return 0;
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
      1 octobre 2008 à 2:45:55

      le x et le y sont les attributs de l'instance actuelle de cette classe.
      en gros, si tu instancie un objet comme ça:
      Point p;
      le x dans la methode distance c'est p.x
      • Partager sur Facebook
      • Partager sur Twitter
        1 octobre 2008 à 10:01:16



        bonjour bachir et Merci mais je ne suis pas satisfait. En fait je debute en c++ et j'ai besoin qu'on m'explique ça le plus simplement possible. je comprend qu'on mette p.x et p.y oui ça je comprend car je connais leur valeur. Mais X et Y ils n'ont meme pas ete initialisés donc je considere q'ils ont la valeur 0; c'est en fait ça que je comprend pas

        pourquoi on les utilise pour calculer ?
        • Partager sur Facebook
        • Partager sur Twitter
          1 octobre 2008 à 10:16:16

          La méthode distance fait partie de la classe Point. Donc quand tu l'appelle, c'est sur une instance de la classe Point (autrement dit, sur un Point). Tu le vois en ligne 59 : A.distance(). Dans la méthode distance, x et y sont les attributs du point sur lequel la méthode a été appelé. Ici, c'est A. Donc x et y sont des attributs de A. La méthode sert à calculer la distance entre le point A sur lequel tu l'appelle, et le point P que tu lui passe en paramètre.
          • Partager sur Facebook
          • Partager sur Twitter
            1 octobre 2008 à 14:08:56

            :) merci je crois que ça va :)
            • Partager sur Facebook
            • Partager sur Twitter
              1 octobre 2008 à 14:15:27

              De rien. Met ton sujet en résolu, alors ^^
              • Partager sur Facebook
              • Partager sur Twitter

              classes

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown