Различия
Показаны различия между двумя версиями страницы.
— | preobrazovanija_opredeljaemye_klassom [2021/07/31 21:58] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Преобразования, | ||
+ | Условно, | ||
+ | * **Cтандартный к стандартному** - эти преобразования уже были нами подробно рассмотрены в одном из уроков. | ||
+ | * **Cтандартный к абстрактному** - преобразования этой группы основаны на использовании конструкторов. | ||
+ | < | ||
+ | #include < | ||
+ | using namespace std; | ||
+ | |||
+ | class Digit | ||
+ | { | ||
+ | private: | ||
+ | int dig; | ||
+ | public: | ||
+ | Digit(int iDig){ | ||
+ | dig=iDig; | ||
+ | } | ||
+ | void Show(){ | ||
+ | cout<< | ||
+ | } | ||
+ | }; | ||
+ | |||
+ | |||
+ | void main() | ||
+ | { | ||
+ | // преобразование от int к Digit | ||
+ | Digit A(5); | ||
+ | A.Show(); | ||
+ | |||
+ | // преобразование от double к Digit | ||
+ | Digit B(3.7); | ||
+ | B.Show(); | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | Исходя из примера можно сделать вывод, что конструктор с одним аргументом Class:: | ||
+ | |||
+ | * Абстрактный к стандартному | ||
+ | * Абстрактный к абстрактному | ||
+ | Для преобразования абстрактного типа к стандартному или абстрактного к абстрактному в С++ существует средство - функция, | ||
+ | < | ||
+ | Class:: | ||
+ | </ | ||
+ | Эта функция выполняет определенное пользователем преобразование типа Class к типу type. Эта функция должна быть членом класса Class и не иметь аргументов. Кроме того, в ее объявлении не указывается тип возвращаемого значения. Обращение к этой функции может быть как явным, так и неявным. Для выполнения явного преобразования можно использовать как традиционную, | ||
+ | |||
+ | < | ||
+ | #include < | ||
+ | |||
+ | using namespace std; | ||
+ | class Number{ | ||
+ | private: | ||
+ | int num; | ||
+ | public: | ||
+ | Number(int iNum){ | ||
+ | num=iNum; | ||
+ | } | ||
+ | void Show(){ | ||
+ | cout<< | ||
+ | } | ||
+ | }; | ||
+ | class Digit | ||
+ | { | ||
+ | private: | ||
+ | int dig; | ||
+ | public: | ||
+ | Digit(int iDig){ | ||
+ | dig=iDig; | ||
+ | } | ||
+ | void Show(){ | ||
+ | cout<< | ||
+ | } | ||
+ | // | ||
+ | operator int (){ | ||
+ | return dig; | ||
+ | } | ||
+ | // | ||
+ | operator Number (){ | ||
+ | return Number(dig); | ||
+ | } | ||
+ | }; | ||
+ | |||
+ | |||
+ | void main() | ||
+ | { | ||
+ | Digit A(5); | ||
+ | cout<<" | ||
+ | A.Show(); | ||
+ | // преобразование от Digit к int | ||
+ | int a=A; | ||
+ | cout<<" | ||
+ | cout<< | ||
+ | |||
+ | Digit B(3); | ||
+ | cout<<" | ||
+ | B.Show(); | ||
+ | |||
+ | Number b(0); | ||
+ | cout<<" | ||
+ | b.Show(); | ||
+ | |||
+ | // | ||
+ | b=B; | ||
+ | cout<<" | ||
+ | b.Show(); | ||
+ | } | ||
+ | </ |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга