Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpOpBsEx 14 of 150 menu
◀ ▶

Явный конструктор в C++

Конструктор с одним параметром позволяет написать User bad = 5. Компилятор сам делает из числа объект.

Слово explicit перед конструктором это запрещает. Остается явный вызов User user(5). Запись User bad = 5 с таким конструктором не компилируется. Запишем класс:

#include <iostream> class User { public: int age; explicit User(int age) : age(age) { } };

Покажем рабочее создание и строку, которая вызывает ошибку:

int main() { User user(5); User bad = 5; return 0; }

Сделайте класс Employee с explicit конструктором от int для поля уровня и покажите строку присваивания числа, которая не компилируется.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить