Эйфель «создать» над конструктором C ++?

StackOverflow https://stackoverflow.com/questions/8855666

  •  28-10-2019
  •  | 
  •  

Вопрос

В чем разница между конструктором C ++ и Эйфелями создает объявление процедуры?

Какое значение имеет возможность иметь несколько функций конструктора для класса? Или есть еще какое -либо преимущество для Эйфелей «создавать»?

Спасибо

Это было полезно?

Решение

В C ++ вы можете перегружать конструкторы, поэтому вы также можете определить несколько конструкторов.

Наличие процедур конструктора, как в Эйфелеве, имеет преимущество, которое вы можете определить различные конструкторы, имеющие одинаковую подпись (то есть одинаковое число и тип аргументов).

Только представьте себе Triangle Класс: Возможно, вы захотите построить треугольник, предоставив длину трех сторон (три значения плавания) или давая две стороны и угол округа (также три значения плавания).

В C ++ вам придется определить дополнительный параметр (например, значение перечисления для «режима конструкции»), в Эйфелеве вы можете просто определить две процедуры строительства с разными именами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top