Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Преобразование типов от основного к пользовательскому.

Определение функции. Передача аргументов и возврат значения по значению, ссылке и указателю. Аргументы по умолчанию. Константы аргументов функции. | Перегруженные функции. Встроенные функции. Рекурсивные функции. | Область видимости и класс памяти. | Объявление и инициализация одномерного и двумерного массивов. Работа с элементами массива через указатель. | Принципы ООП. Инкапсуляция. Наследование. Полиморфизм. | Конструкторы и деструкторы. Конструкторы копирования по умолчанию. | Объекты как аргументы методов и доступ к их числам. | Размещение в памяти членов объектов одного класса и способ создания общих полей (св-в). | Константные методы, их аргументы и константные объекты. | Строки на основе массива типа char и класса string |


Читайте также:
  1. Converting values Преобразование значения
  2. Lt;question> Итоговое изложение основного концептуального содержания работы, а также краткая формулировка главных выводов.
  3. SA8™ Универсальный отбеливатель для всех типов тканей, 500 гр. или 1 кг
  4. VII. Рекомендованное типовое техническое и технологическое обеспечение ЦОИ
  5. Z-преобразование
  6. Z-преобразование
  7. а) Использование различных типов гидротурбин в соответствии с напорами.

Преобразование типов близко к перегрузке операций. Некоторые преобразования происходят между основными типами и типами, определенными пользователем.

Когда мы пишем строку типа intvar = floatvar; то компилятор вызовет специальную функцию для преобразования значения переменной floatvar, которая имеет формат числа с плавающей точкой, в формат целого числа, чтобы мы могли присвоить его переменной intvar. Такие преобразования называются неявными, так как они не отражены в листинге.

Иногда мы хотим принудительно заставить компилятор преобразовать один тип в другой.

Использование оператора cast предоставляет нам явное преобразование:

intvar = static_cast<int>(floatvar);

Такое явное преобразование использует те же встроенные процедуры, что и неявное.

При изменении основного типа на определенный пользователем используется конструктор с одним аргументом(его иногда называют конструктором преобразования.):

Distance (float meters)

{

float fltfeet = 3.280833* meters; // переводим в футы

feet = int (fltfeet); // берем число полных футов

inches = 12 * (fltfeet – feet); // остаток — это дюймы

}

Таким образом, преобразование от float к переменной типа Distance выполняется вместе с созданием объекта в выражении Distance dist1 = 2.35.

 


Дата добавления: 2015-08-17; просмотров: 141 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Перегрузка бинарных операций| Предотвращение преобразования типов от основного к пользовательскому с помощью конструктора

mybiblioteka.su - 2015-2024 год. (0.006 сек.)