R Справочное руководство по С++

R.12.3 Преобразования.

   


Назад  |  Вперёд

Преобразования объектов класса можно задать с помощью конструкторов или функций преобразования.

Такие преобразования, обычно называемые пользовательскими, используются неявно в совокупности со стандартными преобразованиями ($$R.4). Например, функцию с формальным параметром типа X можно вызывать не только с параметром типа X, но и параметром типа T, если существует преобразование типа T в X. Пользовательские преобразования применяются в тех же ситуациях, что и стандартные: преобразование инициализаторов ($$R.8.4), параметров функции ($$R.5.2.2), возвращаемых функцией значений ($$R.6.6.3, $$R.8.2.5), выражений фактических параметров ($$R.5), выражений, управляющих циклом и выбором операторов ($$R.6.4,$$R.6.5) и явные операции преобразования типа ($$R.5.2.3, $$R.5.4).

Пользовательские преобразования применяются только в случае их однозначности ($$R.10.1.1, $$R.12.3.2). Преобразования проходят проверку на соответствие правилам доступа ($$R.11). Как всегда проверка доступа осуществляется после разрешения неоднозначности ($$R.10.4).

Применение преобразований при вызове функции рассматривается на примерах, приведенных ниже, а также обсуждается в $$R.13.2.


Назад  |  Вперёд


OtDiatlovaOU
К началу книги

Оформление и дизайн книги OtDiatlovaOU.
Вся книга, архив.