Programming languages 有没有像Ada这样有子类型的主要编程语言?

Programming languages 有没有像Ada这样有子类型的主要编程语言?,programming-languages,ada,Programming Languages,Ada,我对c++/qt编程有点了解,并在大学里用Ada编程。我真正怀念的一件事是您可以在Ada中创建的子类型。 例如,您可以将integer子类型设置为currency和weight。Ada会确保您不会将货币变量分配给权重变量。两者基本上都是整数,所有功能都完好无损。你就是不能分配它们。在任何一种主要语言中都有类似的东西吗?我真的很想念这个 C++中的一个例子将非常受人欢迎。超级复杂的类构造和模板修补不算数:)。您是在询问枚举类型吗?或者您有什么不同的想法吗?枚举类型必须在AIK中显式定义。Ada允

我对c++/qt编程有点了解,并在大学里用Ada编程。我真正怀念的一件事是您可以在Ada中创建的子类型。 例如,您可以将integer子类型设置为currency和weight。Ada会确保您不会将货币变量分配给权重变量。两者基本上都是整数,所有功能都完好无损。你就是不能分配它们。在任何一种主要语言中都有类似的东西吗?我真的很想念这个


C++中的一个例子将非常受人欢迎。超级复杂的类构造和模板修补不算数:)。

您是在询问枚举类型吗?或者您有什么不同的想法吗?枚举类型必须在AIK中显式定义。Ada允许您拥有完整的整数范围,或允许您定义自定义范围,如1..1024。这种方法简单得多。只是吹毛求疵:Ada子类型(
子类型Foo是整数范围1..1024
)保留父类型的可分配性,并且可以与相同基类型的其他子类型进行互操作,而派生类型(类型栏是新的整数范围1..1024`)则没有。更多信息。嗯,Ada肯定是一门主要语言,所以。。。对它可能是最受欢迎的语言,具有一系列良好的子类型功能。你可以看看各种各样的Pascal,或者硬件设计的VHDL,其他的。我不明白为什么这个问题被解决了。我想其他语言中是否有这样的功能。无需辩论、争论或长时间讨论。