ее преобразовать посредством

Автор admin Пятница, 15 мая 2009 11:32

ее преобразовать посредством вызова конструктора — в тип double или тип long. В такой ситуации происходит неоднозначный вызов перегруженной функции, что порождает ошибку компиляции. Подобные преобразования (int в double или в long) относятся к числу стандартных. Хотя переменные типов int и long имеют одинаковый размер в Visual С++, они рассматриваются как различные типы, требующие преобразования. Помимо использования конструктора преобразования при явном создании объекта класса и инициализации его с помощью единственного значения другого типа, компилятор также вызывает соответствующий конструктор для преобразования в объект класса переменной-члена какого-либо иного типа. Другими словами, конструктор преобразования указывает компилятору, как преобразовать объекты или переменные различных типов в объект данного класса. Например, два конструктора преобразования класса CCurrency позволят присвоить значение типа double или long существующему объекту данного класса. CCurrency Bucks; Bucks = 29.95; Bucks – 35L; И в первом, и во втором случае присваивания компилятор сначала преобразует константу в объект класс


Комментарии закрыты.