|
15 / 15 / 8
Регистрация: 30.03.2014
Сообщений: 75
|
||||||
Доступ к методам класса без создания объекта22.01.2017, 16:08. Показов 6947. Ответов 12
Метки нет (Все метки)
Почему доступны методы foo() и bar() класса А, если нет ни одного объекта это класса?
0
|
||||||
| 22.01.2017, 16:08 | |
|
Ответы с готовыми решениями:
12
Вызвать функцию класса без создания объекта Как получить доступ к методам класса, который содержится в векторе класса Доступ к методам производного класса |
|
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
|
|
| 22.01.2017, 16:33 | |
|
intern, потому что вы не работаете с полями класса. Как только в метод вы добавите работу с каким-нибудь полем, программа рухнет.
Добавлено через 14 минут Точнее не класса, а объекта.
0
|
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 22.01.2017, 16:46 | |
|
0
|
|
|
Модератор
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
|
|
| 22.01.2017, 16:52 | |
|
В VS не прокатывает.
Ошибка исполнения - обращение к неинициализированной переменной.
0
|
|
|
15 / 15 / 8
Регистрация: 30.03.2014
Сообщений: 75
|
|
| 22.01.2017, 17:11 [ТС] | |
|
В Release работает и в VS
0
|
|
|
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
|
|
| 22.01.2017, 17:15 | |
|
1
|
|
|
Комп_Оратор)
|
|||||||
| 22.01.2017, 17:17 | |||||||
void foo() {std::cout<< val << "foo\n";}? Компилятор не должен это проверять. Он и такое пропустит:
0
|
|||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 22.01.2017, 18:15 | ||
|
0
|
||
|
15 / 15 / 8
Регистрация: 30.03.2014
Сообщений: 75
|
|
| 23.01.2017, 15:13 [ТС] | |
|
Вопрос в том, почему такой код работает (ситуация с обращением к полю класса понятна)?
Указатель pA указывает на случайный адрес, ptr вообще нулевой.
0
|
|
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|||||||||||
| 23.01.2017, 15:20 | |||||||||||
|
Все становится на свои места, если код типа
0
|
|||||||||||
|
19495 / 10100 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
|
| 23.01.2017, 15:20 | |
|
1
|
|
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
||
| 23.01.2017, 15:22 | ||
В процессе компиляции методы становятся функциями с одним дополнительным параметром. И вы можете их вызывать. Если понимать реализацию, ничего странного в этом нет.
0
|
||
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 23.01.2017, 15:48 | ||
|
UB в чистом виде.
Подробнее уже много раз обсуждалось, например тут: Почему код корректро отрабатывает после обращения по разыменованному нулевому указателю? Из стандарта:
2
|
||
| 23.01.2017, 15:48 | |
|
Помогаю со студенческими работами здесь
13
Доступ к открытым методам базового класса при частном наследовании
Вызов метода класса без создания экземпляра класса.
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|