Я разработки в C++, и иногда я хотел бы сказать что-то вроде этого:язык программирования, который поддерживает наследование типов значений
class Heading : public float // this line won't compile
{
public:
Heading(float const value_)
: float(value_) // this line won't compile
{
assert(value_ >= 0.0f);
assert(value_ <= 360.0f);
}
};
Вместо этого я должен сделать что-то вроде:
class Heading : public float
{
public:
Heading(float const value_)
: value(value_)
{
assert(value >= 0.0f);
assert(value <= 360.0f);
}
private:
float value;
};
ли существуют ли какие-либо языки программирования, позволяющие расширять типы значений?
360? Ты язычник. Должно быть '2 * math.pi'! :-P –
@Chris: Больше похоже на - * π * и * π * :-) – Joey
Um ... OP был в градусах. И, будучи матросом, я использую степени больше, чем радианы. –