ДРУЖЕСТВЕННЫЕ ФУНКЦИИИ ПЕРЕГРУЗКА ОПЕРАЦИЙ. Полиморфизм. Преобразования, определяемые классом Опр. Полиморфизм- это средство для придания различных значений одному и тому же сообщению в зависимости от типа обрабатываемых данных. Преобразование - это явное или неявное изменение значения в зависимости от типа. Преобразование обеспечивает форму полиморфизма. Перегрузка функций дает одному и тому же имени функции различные значения. Одно и то же имя имеет различные интерпретации, которые зависят от выбора функции. Такая форма полиморфизма называется специальный полиморфизм. Операторы переіружаются и выбираются на основании алгоритма соответствия сигнатур. Переірузка операторов придает им новые значения. Перегрузка оператор + для типов, определяемых пользователем, позволяет использовать их в дополнительных выражениях в большинстве случаев так же, как и встроенные типы. При определении функции преобразования допустимы также выражения смешанного типа. Операция преобразования типов предоставляет механизм явного преобразования объектов данного класса в другой тип. Явное преобразование типов выражения применяется тогда, когда неявное преобразование нежелательно или когда без него выражение недопустимо. Чтобы достигнуть этого существует механизм функции-члена, обеспечивающей явное преобразование. Функциональная запись: Имя типа (выражение) эквивалентна приведению. Тип должен быть выражаем как идентификатор. x=(float)i; x=float(i); эквивалентны. Выражение p=(int*)x; //допустимое приведение не может непосредственно функционально выражаться как p=int*(x);
RkJQdWJsaXNoZXIy MTExODQxMg==