Какой класс повышения я должен использовать для хранения человеческого возрастаC++

Программы на C++. Форум разработчиков
Anonymous
Какой класс повышения я должен использовать для хранения человеческого возраста

Сообщение Anonymous »

Я должен хранить возраст (годы, месяцы, дни .... возможно, часы, минуты, секунды) пользователя. Я работаю с C ++ и Boost.
Я не уверен, какой класс Boost :: posix_time (или boost :: date_time ) я должен использовать. сделал: < /p>

Код: Выделить всё

boost::posix_time::time_duration age = boost::posix_time::hours(24*365*ageInYears);
Но я не уверен, что это хорошая стратегия, потому что все годы не имеют 365 дней.
Я также пытался Boost :: gregorian :: date , но это сложно, потому что это не позволяет хранить год до 1400 (и это не хранит дату, а не DOURATION). Хранить дату рождения пользователя, потому что мне нужно сохранить его возраст, когда моя программа запускается (медицинские данные).
[*] Я не хочу хранить обычный int , потому что это недостаточно (24 года + 11 месяцев почти 25).
Я не хочу хранить поплавок , потому что я не хочу переосмыслить Wheel While, чтобы поплавать, чтобы сделать это, чтобы сделать это ... /> < /ul>
Действительно ли класс не позволяет легко хранить несколько лет и, при желании, в идеале, для парня 30 с половиной, я хотел бы иметь возможность создавать объект, подобный этому: Boost :: ....................... /> Иметь функцию для получения возраста за годы: Theage.years () Возвращение 30 (игнорируя месяцы) < /li>
Возможно, иметь конверсию в поплавок, который даст мне 30,5 в возрасте < /li>
< /ul>

Подробнее здесь: https://stackoverflow.com/questions/343 ... -human-age

Вернуться в «C++»