[string C++] ::>>> bien Relou

Fermé
arno -  
blux Messages postés 27129 Date d'inscription   Statut Modérateur Dernière intervention   -
oula tendu j'ai vraiment du mal a comprendre ton code il y a plein de truc que je ne connai pas j'en profite pour te mettre tout ce que j'avais fait:

class Vecteur{
  
 private:

  float x,y,z;
  
 public:

   //constructeur destructeur

  Vecteur(float,float,float);
  Vecteur();
  

  //methodes
  float getX();
  float getY();
  float getZ();
  float getNorme();
  string toString();
  float pScalaire(Vecteur);
  Vecteur pVectoriel(Vecteur);
};

Vecteur::Vecteur(float X,float Y,float Z){
  this->x=X;
  this->y=Y;
  this->z=Z;
}

Vecteur::Vecteur(){
  this->x=0;
  this->y=0;
  this->z=0;
}

//destructeur

//methodes
float Vecteur::getX(){
  return x;
}
float Vecteur::getY(){
  return y;
}
float Vecteur::getZ(){
  return z;
}
float Vecteur::getNorme(){
  return sqrt(pow(x,2)+pow(y,2)+pow(z,2));//inclure cmath
}
float Vecteur::pScalaire(Vecteur v){
  return (v.x*x + v.y*y + v.z*z);
}

Vecteur Vecteur::pVectoriel(Vecteur v){
  //effectue le produit vectoriel:  this^v
  Vecteur resultat(5,5,5);
   
  resultat.x = y * v.z - v.y * z;
  resultat.y = z * v.x - v.z * x;
  resultat.z = x * v.y - v.x * y;
  return resultat;
}


void Vecteur::toString(){
  cout << getX() <<";" << getY() << endl;
}


Je sais que c'est un peu abusé mais si tu pouvais m'expliquer tout ligne par ligne (ou presk) je te remercierais eternellement (oui tout ça)

2 réponses

blux Messages postés 27129 Date d'inscription   Statut Modérateur Dernière intervention   3 361
 
Salut,

je ferme, vous irez voir dans le post initial...
1
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   7 884
 
Effectivement c'est abusé car tu ouvres un nouveau post pour un problème en cours et qu'en plus il n'y a rien à expliquer. A part lire un tutoriel en C je ne sais pas quoi te dire...

Entre class et }; il déclare la classe Vecteur qui stocke trois flottants, et il déclare les méthode s'appliquant à une instance de Vecteur.

Ensuite il implémente les différentes méthodes.
Rq :
return (v.x*x + v.y*y + v.z*z);
return ( (v.x)*(this->x) + (v.y)*(this->y) + (v.z)*(this->z));

sont équivalentes.

Dans toString le cout devrait pour bien faire être remplacé par std::cout. Il écrit sur la sortie standard (std::cout) les valeurs retournées par getX et getY (à savoir this->x et this->y). Dans le feut de l'action il a même oublié z...

Bonne chance
0