Форум программистов, компьютерный форум, киберфорум
Наши страницы

неявное преобразование в C++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Критика архитектуры набора планов http://www.cyberforum.ru/cpp/thread335057.html
Требуется создать систему похожую на Hierarchical task network то есть некоторая библиотека планов и каждый план может содержать подпланы, получать результаты выполнения подпланов и передавать их...
C++ Решение игры "вирус"? В инете есть много флеш игр на тему вирусов. Поле поделено на квадраты из нескольких цветов и нужно всё заразить на наименьшее число ходов. Хочу потренироваться находить решения таких задач. Для... http://www.cyberforum.ru/cpp/thread333845.html
Чекер удаленных серверов на ОС C++
Доброго времени суток. Я этот форум читаю уже достаточно давно, но все никак не приходилось здесь зарегистрироваться. Сейчас обращаюсь к вам с просьбой. Помогите написать программку, которая будет...
C++ Управляющая последовательность \f
Уважаемые форумчане! Я давно изучаю язык С++, но пользуюсь только несколькими управ. последовательнотсями(в основном \n):-[. Недавно я хахотел узнать о др. последовательностях. В книге Шилдта "Полный...
C++ Записать в файл g целые числа b 1 , ..., b n , где при i = 1, 2, ..., n значение b i равно: i. http://www.cyberforum.ru/cpp/thread331777.html
Дано натуральное n. Записать в файл g целые числа b 1 , ..., b n , где при i = 1, 2, ..., n значение b i равно: i.
C++ Quest3D 4.2.3 Приветсвую всех!!! Люди мне нужна помощь. Никак не могу найти в сети Quest3D 4.2.3.точнее нашел но все ссылки либо платные либо не работают.если кто может дать мне работующюю ссылку буду очень... подробнее

Показать сообщение отдельно
Kastaneda
Jesus loves me
Эксперт С++
4688 / 2892 / 236
Регистрация: 12.12.2009
Сообщений: 7,354
Записей в блоге: 2
Завершенные тесты: 1
22.07.2011, 12:04
Про QT ни чего сказать не могу, ибо не знаю.

По поводу explicit
Цитата Сообщение от TheAthlete Посмотреть сообщение
Почитал, что данное ключевое слово позволяет предотвратить неявное преобразование, осуществляемых конструктором в объект данного класса.
Да, совершенно верно, что это значит в практическом смысле:

C++
1
2
3
4
5
6
7
8
9
10
11
class A{
 public: 
     int a;
     A(int aa):a(aa){};
 };
 
int main(){
    A ob=5;//здесь int = 5 будет преобразовано в A(5)
    std::cout<<ob.a<<std::endl;
    return 0;
}
а так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class A{
 public: 
     int a;
     explicit A(int aa):a(aa){};
 };
 
int main(){
    A ob=5;//здесь имеем ошибку компиляции, ибо преобразование запрещено explicit 
//теперь нужно явно указывать вызов конструктора
       A ob(5); //так правильно
    std::cout<<ob.a<<std::endl;
    return 0;
}
Добавлено через 32 секунды
опять опоздал...
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru