exercism-solutions/cpp/space-age/space_age.cpp

39 lines
731 B
C++

#include "space_age.h"
namespace space_age {
#define PLANET_TABLE \
X(on_mercury, 0.2408467) \
X(on_venus, 0.61519726) \
X(on_mars, 1.8808158) \
X(on_jupiter, 11.862615) \
X(on_saturn, 29.447498) \
X(on_uranus, 84.016846) \
X(on_neptune, 164.79132)
#define X(a, b) \
double space_age:: a () const \
{ \
return on_earth() / b; \
}
PLANET_TABLE
#undef X
space_age::space_age(double seconds)
: seconds_(seconds)
{
}
double space_age::seconds() const
{
return seconds_;
}
double space_age::on_earth() const
{
return seconds() / 31557600;
}
}