Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Haster
инженер-системотехник
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
#1

Когда создается конструктор по умолчанию? - C++

09.11.2011, 13:22. Просмотров 767. Ответов 4
Метки нет (Все метки)

Здравствуйте, товарищи!

Прочитал тут книгу "Ассемблер и дизасеммблирование" Пирогова и открыл для себя такую вещь, что
конструктор по умолчанию создается только для классов, содержащих виртуальные функции
(он нужен для инициализации таблицы виртуальных функций).

А во всех учебниках по С++ говорится, что конструктор по умолчанию создается всегда... Даже для классов без вирт. функций.

Кто что знает по этому вопросу?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2011, 13:22     Когда создается конструктор по умолчанию?
Посмотрите здесь:

Конструктор по умолчанию - C++
Доброе утро! При попытке доступа к данным-элементам объекта, созданного конструктором по умолчанию, программа загибается. Возникло...

Конструктор по умолчанию - C++
Здраститя. #include <iostream> using namespace std; class random { public: random(int b){a=b;} ~random(){} int...

Конструктор по умолчанию - C++
У меня получается создавать конструктор по умолчанию если в хедере эти значения указаны: class Unit { protected: string name; ...

Конструктор по умолчанию - C++
Здравствуйте, есть такой код: explicit RFileDownloader(QObject *parent = 0); explicit RFileDownloader(const QUrl &url = QUrl(),...

Конструктор по умолчанию - C++
Всем привет! Если в классе вообще нет конструктора, чем будут инициализироваться члены класса? И в чем отличие объект() и объект...

Конструктор по умолчанию - C++
Показывает ошибку : 1 IntelliSense: для класса "tovar" не существует конструктор по умолчанию Подскажите пожалуйста как сделать ...

Конструктор по умолчанию - C++
Я то ли динамику недопоняла, то ли классы, то ли конструктор... И теперь совсем запуталась. Что нужно написать в конструкторе без...

Конструктор по умолчанию - C++
как использовать конструктор по умолчанию в конструкторе с параметром? К по умолчанию заполняет массив заранее определёнными символами, а...

Конструктор копий по умолчанию. - C++
Почему, когда в vc++ vdfsadsad Добавлено через 46 секунд Почему если идёшь по коду с заходом в функцию не отображается вызов...

Перемещающий конструктор по умолчанию - C++
Есть класс содержащий в себе std::unique_ptr. Так как unique_ptr не умеет копироваться, копирующего конструктора у класса быть не может. Но...

Конструктор с параметрами по умолчанию - C++
пытаюсь создать класс с параметрами по умолчанию(я да, надеюсь, что я не путаюсь в терминах) #include <iostream> class some { ...

Не работает конструктор по умолчанию - C++
Нужно в конструкторе по умолчанию создать динамический массив и заполнить его элементами, но при компиляции выводится сообщение "Не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт С++
1039 / 818 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
09.11.2011, 13:23     Когда создается конструктор по умолчанию? #2
Он формально создается, но фактически это же пустая функция, которая просто ничего не делает... Поэтому он фактически не создается...
Haster
инженер-системотехник
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
09.11.2011, 13:39  [ТС]     Когда создается конструктор по умолчанию? #3
ValeryLaptev, т.е. считается, что создается всегда, а на деле уже как компилятор извратится?
ValeryLaptev
Эксперт С++
1039 / 818 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
09.11.2011, 21:16     Когда создается конструктор по умолчанию? #4
Haster, да, конечно.
Сыроежка
Заблокирован
09.11.2011, 21:42     Когда создается конструктор по умолчанию? #5
Цитата Сообщение от Haster Посмотреть сообщение
Здравствуйте, товарищи!

Прочитал тут книгу "Ассемблер и дизасеммблирование" Пирогова и открыл для себя такую вещь, что
конструктор по умолчанию создается только для классов, содержащих виртуальные функции
(он нужен для инициализации таблицы виртуальных функций).

А во всех учебниках по С++ говорится, что конструктор по умолчанию создается всегда... Даже для классов без вирт. функций.

Кто что знает по этому вопросу?
Конструктор по умолчанию неявно объявляется компилятором всегда, если не задан пользователем. Конструктор по умолчанию определяется неявно компилятором тогда, когда он используется.
Yandex
Объявления
09.11.2011, 21:42     Когда создается конструктор по умолчанию?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru