Различия
Показаны различия между двумя версиями страницы.
— | peregruzhennye_konstruktory [2021/07/31 21:58] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Перегруженные конструкторы C++ ====== | ||
+ | Конструкторы могут иметь параметры. Для этого просто нужно добавить эти параметры в объявление и определение конструктора, | ||
+ | Главный смысл перегрузки конструкторов состоит в том, чтобы предоставить программисту наиболее подходящий метод инициализации объекта. | ||
+ | < | ||
+ | </ | ||
+ | **Пример.** | ||
+ | < | ||
+ | # include < | ||
+ | using namespace std; | ||
+ | |||
+ | class _3D | ||
+ | { | ||
+ | | ||
+ | public: | ||
+ | _3D (); | ||
+ | _3D (double initX, double initY, double initZ); | ||
+ | }; | ||
+ | |||
+ | // | ||
+ | _3D:: | ||
+ | { | ||
+ | x = initX; | ||
+ | y = initY; | ||
+ | z = initZ; | ||
+ | cout << " | ||
+ | } | ||
+ | |||
+ | // | ||
+ | _3D::_3D() | ||
+ | { | ||
+ | x=y=z=0; | ||
+ | cout << "\nNo arguments!!!\n"; | ||
+ | } | ||
+ | |||
+ | |||
+ | void main() | ||
+ | { | ||
+ | // | ||
+ | // | ||
+ | //все члены класса инициализируются нулем | ||
+ | //на экране надпись "No arguments!!!" | ||
+ | _3D A; | ||
+ | |||
+ | | ||
+ | // | ||
+ | //все члены класса инициализируются | ||
+ | // | ||
+ | //на экране надпись "Whis arguments!!!" | ||
+ | _3D B (3, | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | **Комментарии к примеру и особенности использования.** | ||
+ | - Каждому способу объявления объекта класса должна соответствовать своя версия конструкторов класса. Если это не будет обеспечено, | ||
+ | - На этом примере легко понять, | ||
+ | - В примере представлен наиболее распространенный вариант перегрузки конструкторов, | ||
+ | - Хотя конструктор можно перегружать столько раз, сколько захотите, | ||
+ | |||
+ | ====== Полезная информация ====== | ||
+ | Обратите внимание на то, что тела конструкторов описаны за пределами класса. В класс помещены только прототипы. Данная форма записи может быть использована и для обычных методов класса. Напомним, | ||
+ | |||
+ | Как лучше и грамотнее, | ||
+ | |||
+ | Cпособ, |
📌 Удобный подбор 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} для мультиаккаунтинга