diff --git a/cpp/space-age/space_age.cpp b/cpp/space-age/space_age.cpp new file mode 100644 index 0000000..1bad6c9 --- /dev/null +++ b/cpp/space-age/space_age.cpp @@ -0,0 +1,55 @@ +#include "space_age.h" + +namespace space_age { + +space_age::space_age(double seconds) + : seconds_(seconds) +{ +} + +double space_age::seconds() const +{ + return seconds_; +} + +double space_age::on_earth() const +{ + return seconds() / 31557600; +} + +double space_age::on_mercury() const +{ + return on_earth() / 0.2408467; +} + +double space_age::on_venus() const +{ + return on_earth() / 0.61519726; +} + +double space_age::on_mars() const +{ + return on_earth() / 1.8808158; +} + +double space_age::on_jupiter() const +{ + return on_earth() / 11.862615; +} + +double space_age::on_saturn() const +{ + return on_earth() / 29.447498; +} + +double space_age::on_uranus() const +{ + return on_earth() / 84.016846; +} + +double space_age::on_neptune() const +{ + return on_earth() / 164.79132; +} + +} diff --git a/cpp/space-age/space_age.h b/cpp/space-age/space_age.h new file mode 100644 index 0000000..53b9e15 --- /dev/null +++ b/cpp/space-age/space_age.h @@ -0,0 +1,28 @@ +#pragma once + +#define EXERCISM_RUN_ALL_TESTS + + +namespace space_age { + +class space_age +{ + double seconds_; + +public: + + space_age(double seconds); + + double seconds() const; + + double on_earth() const; + double on_mercury() const; + double on_venus() const; + double on_mars() const; + double on_jupiter() const; + double on_saturn() const; + double on_uranus() const; + double on_neptune() const; +}; + +}