|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||||||||||||||||
Конструкторы по умолчанию.29.12.2011, 20:03. Показов 8768. Ответов 19
Метки нет (Все метки)
Здравствуйте, возник вопрос. Только что минут 10 въезжал что у меня не так. Суть вот в чем. Есть некий класс, в моем случае например digit. Есть 3 конструктора, 1 по умолчанию без аргументов, 2 с параметрами. Проблема в том, что когда я начал проверять конструкторы, то есть объявлять объект данного класса с инициализацией, все вроде бы было нормально пока я не дошел до конструктора по умолчанию. Дело в том, что я не удалял скобки после теста конструктора с аргументом, просто удалял значения из них. Получалось вот так
0
|
||||||||||||||||
| 29.12.2011, 20:03 | |
|
Ответы с готовыми решениями:
19
Заменить конструкторы на конструктор по умолчанию Конструкторы. Почему-то по умолчанию и копирующий не срабатывают, помогите найти ошибку. Что такое конструкторы классов, копирования, по умолчанию с запретом неявного приведения аргументов? |
|
Полярный
477 / 449 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
|
|
| 29.12.2011, 20:08 | |
|
Код в студию.
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||||||
| 29.12.2011, 20:27 [ТС] | ||||||
|
Да код не принципиален. Но вот к примеру такой.
0
|
||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 29.12.2011, 20:34 [ТС] | |
|
Странно, но я ничего не отключал. Стоит debug конфигурация, никаких warning не было.
0
|
|
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
|
| 29.12.2011, 20:35 | |
|
Пример входных, выходных, и желаемых выходных данных предоставте пожалуйста.
0
|
|
|
Полярный
477 / 449 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
|
||
| 29.12.2011, 20:36 | ||
|
А откуда нам знать откуда берётся "blabla"?
+ У вас названо 3 конструктора, вы и выложите оригинал, от строки до строки. Не выкладывайте только остальные функции (мэйн выложите)
0
|
||
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
|
| 29.12.2011, 20:38 | |
|
0
|
|
|
|
||||||
| 29.12.2011, 20:38 | ||||||
0
|
||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||||||||||||||||
| 29.12.2011, 20:39 [ТС] | ||||||||||||||||
|
Я же написал в первом сообщение, данные не важны. Конструктор по умолчанию инициализирует нулем. Вот пример использования:
0
|
||||||||||||||||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 29.12.2011, 20:52 [ТС] | |
|
Вот лог построения
Лог
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory `/c/Users/Toxa/Documents/NetBeansProjects/CppApplication_1' "/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/cppapplication_1.exe make[2]: Entering directory `/c/Users/Toxa/Documents/NetBeansProjects/CppApplication_1' mkdir -p build/Debug/MinGW-Windows/_ext/42866081 rm -f build/Debug/MinGW-Windows/_ext/42866081/huge_int.o.d g++.exe -c -g -I/F/Programming/Libraries/Includes/My\ Work -MMD -MP -MF build/Debug/MinGW-Windows/_ext/42866081/huge_int.o.d -o build/Debug/MinGW-Windows/_ext/42866081/huge_int.o /F/Programming/Libraries/Includes/My\ Work/Huge\ Int/huge_int.cpp mkdir -p build/Debug/MinGW-Windows/_ext/606542049 rm -f build/Debug/MinGW-Windows/_ext/606542049/digit.o.d g++.exe -c -g -I/F/Programming/Libraries/Includes/My\ Work -MMD -MP -MF build/Debug/MinGW-Windows/_ext/606542049/digit.o.d -o build/Debug/MinGW-Windows/_ext/606542049/digit.o /F/Programming/Libraries/Includes/My\ Work/Huge\ Int/Digit/digit.cpp mkdir -p build/Debug/MinGW-Windows rm -f build/Debug/MinGW-Windows/main.o.d g++.exe -c -g -I/F/Programming/Libraries/Includes/My\ Work -MMD -MP -MF build/Debug/MinGW-Windows/main.o.d -o build/Debug/MinGW-Windows/main.o main.cpp mkdir -p dist/Debug/MinGW-Windows g++.exe -o dist/Debug/MinGW-Windows/cppapplication_1 build/Debug/MinGW-Windows/_ext/42866081/huge_int.o build/Debug/MinGW-Windows/_ext/606542049/digit.o build/Debug/MinGW-Windows/main.o make[2]: Leaving directory `/c/Users/Toxa/Documents/NetBeansProjects/CppApplication_1' make[1]: Leaving directory `/c/Users/Toxa/Documents/NetBeansProjects/CppApplication_1' Добавлено через 7 минут Вбил только что на liveworkspace и вправду warning выскочил. Какой параметр нужен компилятору? -Waddress? И мне все таки интересно, чем отличается инициализация с пустыми скобками и без скобок.
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 29.12.2011, 20:58 [ТС] | |
|
Спасибо, добавил. Так в чем проблема данной инициализации? Может где нибудь написано про это?
0
|
|
|
|
||
| 29.12.2011, 21:35 | ||
|
Если попытаться вывести адрес int a(), то выдаст 1. Так, между словом.
0
|
||
|
Полярный
477 / 449 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
|
|
| 29.12.2011, 21:41 | |
|
А функцией trace into нельзя проверить какой конструктор вызывается чтоли?
0
|
|
|
|
|
| 29.12.2011, 21:52 | |
|
В общем, в стандарте указано, что при вызове X a() не создается объект класса Х, но создается функция, которой ничего не передается, и которая возвращает X(перевод - "..and returning an X"). Поэтому я предполагаю, что возвращается некое подобие указателя(если не сам указатель) на класс Х с адресом true. Повторяю, это только предположение.
1
|
|
|
85 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
|
|
| 29.12.2011, 21:57 | |
|
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 29.12.2011, 22:50 [ТС] | |
|
Ну я так и предпологал, что создается что то вроде функции, спасибо.
0
|
|
|
|
|||||||||||||||||||||
| 29.12.2011, 22:58 | |||||||||||||||||||||
|
После перевода c++ в asm получилось следующее
А в стандарте я, к своему стыду, ничего внятного не нашел. Может плохо искал. ![]() ps/ Привел только те участки, которые различались.
1
|
|||||||||||||||||||||
| 29.12.2011, 22:58 | |
|
Помогаю со студенческими работами здесь
20
Написать класс «массив» (В классе реализовать следующие методы: конструкторы (по умолчанию, с параметрами,) Webpack собирает проект, а приложение говорит что мои конструкторы не конструкторы Определите класс матриц. Напишите перегруженные конструкторы для создания одномерной и двумерной матриц. В конструкторы передаются размерности матриц Создать функцию с двумя аргументами, имеющими значение по умолчанию; вывести на экран значения по умолчанию Конструкторы базовых классов ("Производный класс не наследует конструкторы базовых классов") Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|