J'ai une question simple (je code en C++). Voici ma class Timer, pour pouvoir effectuer des mesures en fonction du temps :
class Timer
{
public:
void restart();
// Getters
sf::Int64 getTimeAsMicroseconds();
sf::Int32 getTimeAsMilliseconds();
float getTimeAsSeconds();
private:
void update();
// Attributes
sf::Clock clock;
sf::Time time;
};
Les getters devraient-ils toujours utiliser le mot-clef const ? Car dans mon cas, j'ai absolument besoin de mettre à jour time via la méthode getElapsedTime de clock, avant de pouvoir en faire quelque chose. Mes getters ressemblent dont à ça :
// Getters
sf::Int64 Timer::getTimeAsMicroseconds()
{
update();
return time.asMicroseconds();
}
sf::Int32 Timer::getTimeAsMilliseconds()
{
update();
return time.asMilliseconds();
}
float Timer::getTimeAsSeconds()
{
update();
return time.asSeconds();
}
// Setters
void Timer::update()
{
time = clock.getElapsedTime();
}
J'appelle update pour mettre à jour time, pour ensuite renvoyer une valeur, je ne peux donc pas utiliser un const, et update doit forcément être appelée. Merci de votre réponse 