#include <iostream>
struct Distance
{
double meters;
explicit Distance(double m) : meters(m)
{
}
friend std::ostream& operator<<(std::ostream& os, const Distance& d)
{
return os << d.meters << " meters";
}
};
Distance operator"" _km(long double km)
{
return Distance(static_cast<double>(km * 1000.0L));
}
int main()
{
auto d = 100.0_km;
std::cout << d << '\n';
}