Debutant dans l'utilisation des classes en C++
Bonjour,
Voila je suis debutant en c++ oriente programmation mathematique, et j'essaie d'en savoir un peu plus sur la definition des classes avant de commencer a coder.
Dans un bouquin que je suis actuellement entrain de lire je tombe sur la definition de la calsse Diffusion process "ci-dessous", qui contient des declaration de membres et fonction membres que j'arrive a comprendre mais le debut de la definition de cette classe m'echappe totalement (partie en gras).
D'autant plus que je n'arrive pas a trouver sur le net la signification du mot cle "~" avant DiffusionProcess. Pouvez-vous s'il vous plait m'eclairer sur cette premiere partie. Pouvez vous aussi s'il vous plait m'expliquer quel est l'interet d'introduire const = 0, apres avoir defini les deux membres drift et diffusion.
Merci d'avance de l'aide apportee
Code:
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
| class DiffusionProcess
{
public:
DiffusionProcess(double x0) : x0_(x0) {}
virtual ∼DiffusionProcess() {}
double x0() const { return x0_; }// returns the drift part of the equation, i.e. mu(t, x_t)
virtual double drift(Time t, double x) const = 0;
// returns the diffusion part of the equation, i.e. sigma(t,x_t)
virtual double diffusion(Time t, double x) const = 0;
// returns the expectation of the process after a time interval
// returns E(x_{t_0 + delta t} | x_{t_0} = x_0) since it is Markov.
// By default, it returns the Euler approximation defined by
// x_0 + mu(t_0, x_0) delta t.
virtual double expectation(Time t0, double x0, Time dt) const {
return x0 + drift(t0, x0)*dt;
}
// returns the variance of the process after a time interval
// returns Var(x_{t_0 + Delta t} | x_{t_0} = x_0).
// By default, it returns the Euler approximation defined by
// sigma(t_0, x_0)^2 \Delta t .
virtual double variance(Time t0, double x0, Time dt) const {
double sigma = diffusion(t0, x0);
return sigma*sigma*dt;
}
private:
double x0_;
}; |