Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, samius, Вы писали:
S>>>Оне все будут к int'у приводится перед печатью, почему нет? Ну т.е. енто не будет ToString(HouseNumber hn), а будет ToString(int hn) для типа HouseNumber. Енто, конечно, нарушает типизацию и инкапсуляцию, поскольку детали лезут наружу... S>>Тип HouseNumber в точности есть int. Это расположенные в int значения номеров домов. И только лишь.
I>HouseNumber и есть тип. Ты просто привык использовать язык, где такие вещи будут совместимы по присваиванию с int. А если язык умеет нормальные типы, то int нельзя записать в HouseNumber.
Так если это другой тип на уровне языка, то другое дело. Тогда, вероятно, можно создавать перегрузки toString с этим типом. Я же не против. I>На самом деле тип это не только и не столько данные, сколько операции, которые определены для эти данных. С интом нормально выполнять битовые, арифметические и какие угодно операции. А вот выполнять битовые операции над номерами домов мягко говоря смысла нет. Следовательно — тип другой.
Не затруднит назвать язык в ПП парадигме с такой системой типов?