LINUX.ORG.RU

История изменений

Исправление d_a, (текущая версия) :

Идея: производные величины. Например, умножение величины в метрах на такую же даст площадь в квадратных метрах. Ньютоны на метры — джоули и т.п.

Площадь-то добавить нехитро:

struct Meter2;
template <typename Rep, typename Period = std::ratio<1>>
struct Square : public Units<Rep, Period, Meter2>
{
    using Units<Rep, Period, Meter2>::Units;
};
, глобальный оператор и/или функцию нарисовать, которые из аргументов Length будут делать Square. Только это задача приложений по-моему, которым это нужно -- формулы необходимые для работы закодировать. А задача SI::Units -- дать инструмент для определения пользовательских единиц. Frequency и Length наверное тоже стоит спрятать, а то у меня вон уже выше спрашивают где джоули и люмены, хотя я вовсе не хочу переписывать весь учебник по физике.

Исходная версия d_a, :

Площадь-то добавить нехитро:

struct Meter2;
template <typename Rep, typename Period = std::ratio<1>>
struct Square : public Units<Rep, Period, Meter2>
{
    using Units<Rep, Period, Meter2>::Units;
};
, глобальный оператор и/или функцию нарисовать, которые из аргументов Length будут делать Square. Только это задача приложений по-моему, которым это нужно -- формулы необходимые для работы закодировать. А задача SI::Units -- дать инструмент для определения пользовательских единиц. Frequency и Length наверное тоже стоит спрятать, а то у меня вон уже выше спрашивают где джоули и люмены, хотя я вовсе не хочу переписывать весь учебник по физике.