Bonjour à tous,
Je fais appel à une fonction qui doit me calculer la nouvelle position d'un mobile en fonction du temps initial et de la vitesse initiale. Pour cela, j'ai crée une classe T et une instance de cette classe T1.
Dans cette classe, j'ai défini la méthode frein qui prend en entrée 2 variable : le temps initial et la vitesse initiale. Cette méthode (ou fonction membre) doit me donnée la nouvelle valeur de l'attribut Position.
Or je constate que la Position reste bloquée à la valeur initiale ....
Voici des extraits de 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 class T { public: T(); T(double pos); T(double pos, double circul, double accel, double frein); double frein(int t1, double v); //Accesseur double const GetPosition(); double const GetVitesse(); //Mutateur void SetPosition(double pos); private: double Position; };
main()
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 #include <iostream> #include "T.h" int DeltaT=1; //T::T(){Position=0;} T::T(double pos): Position(pos){} T::T(double pos, double circul, double accel, double frein): Position(pos), v_circul(circul), a_accel(accel) , a_frein(frein){} //double const T::GetVitesse(){return Vitesse;} double const T::GetPosition(){return Position;} void T::SetPosition(double pos){Position=pos;} double T::circul(){Position=Position+DeltaT*v_circul*1000/3600;} double T::frein(int tt1, double vv){Position=Position+0,5*(-1)*(2*tt1+1)*1+vv*1000/3600*1;}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 V1=V1-DeltaT*0.001*3600 ; std::cout <<T1.frein(t1,V1) << std::endl;
Partager