В C++, как я могу успешно объединить классы в следующем примере?В C++ как мне успешно объединить классы в следующем примере?
Clock timer;
std::cout << timer.getElapsedTime().inSeconds();
std::cout << timer.getElapsedTime().inMilliseconds();
Как написать код успешно?
class ElapsedTime
{
private:
double _start;
public :
ElapsedTime(double start)
{
_start = start;
}
double inSeconds() const
{
return (std::clock() - _start)/(double) CLOCKS_PER_SEC;
}
double inMilliseconds() const
{
return ((std::clock() - _start)/(double) CLOCKS_PER_SEC) * 1000;
}
};
class Clock
{
private:
std::clock_t _start;
double _duration;
public:
Clock()
{
_start = std::clock();
}
ElapsedTime getElapsedTime() const {
return ElapsedTime(_start);
}
double reset()
{
_duration = (std::clock() - _start)/(double) CLOCKS_PER_SEC;
_start = std::clock();
return _duration;
}
};
редактировать: сделал предложенные изменения от PM100
Хотя класс цепь еще возвращает значение, как .7e-05
и если я пытаюсь использовать сопзЬ следующим образом я получаю ошибка сегментации
ElapsedTime const& getElapsedTime() const {
return ElapsedTime(_start);
почему это не делают у inSeconds и inMIliseconds члены класса часы? – pm100
Как я понял, вы хотите создать специальный класс, который сохранит некоторое значение времени и позволит вам получить время в секундах и в миллисекундах, да? – Pavel
Когда вы закончите изучение этого вопроса, могу ли я предложить '#include'? –
rwols