|
-80 / 27 / 1
Регистрация: 14.03.2015
Сообщений: 809
|
||||||
Создание и использование классов14.08.2016, 17:17. Показов 678. Ответов 5
Метки нет (Все метки)
Доброго все здравия, попытался сам написать класс, отрицательный результат ниже.
0
|
||||||
| 14.08.2016, 17:17 | |
|
Ответы с готовыми решениями:
5
Создание и использование классов Создание и использование классов.Работа над ошибками Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов |
|
Модератор
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
|
||||||
| 14.08.2016, 17:28 | ||||||
0
|
||||||
|
-80 / 27 / 1
Регистрация: 14.03.2015
Сообщений: 809
|
|
| 14.08.2016, 17:37 [ТС] | |
|
zss, Объясните великодушно почему мой вариант не работает, Вы заполнили символьный массив через конструктор, это единственный вариант?
0
|
|
|
Модератор
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
|
|
| 14.08.2016, 17:43 | |
|
Для этого конструкторы и существуют, чтобы инициализировать данные класса.
0
|
|
|
Падаван С++
447 / 261 / 89
Регистрация: 11.11.2014
Сообщений: 916
|
|||||||||||
| 14.08.2016, 17:45 | |||||||||||
|
gogaloh, во первых почему может ваш код, если вы компилируете в среде которая не поддерживает с++11, то нельзя инициализировать поля класса, потому что объект еще не создан, исключением являются статические константы, во вторых, даже если вы компилируете под с++11 у вас не правильный синтаксис можно написать так
1
|
|||||||||||
|
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
|
||||||||||||||||
| 14.08.2016, 18:09 | ||||||||||||||||
|
gogaloh, потому что запись типа
hello, но это делается не так.Когда ты создаешь поле класса и хочешь его инициализировать, ты либо используешь in-class initialization, вот так:
hello строковым литералом "Hello world"Либо инициализируешь поля при создании объекта, т.е. в конструкторе, вот так:
Ведь если бы я написал hello = "Hello world"; в теле конструктора (между фигурных скобок), то, мало того, что у меня ничего бы не вышло, потому что hello - const char* и должен быть инициализирован при создании, это бы была не инициализация, а присваивание нового значения.Потому что программа сначала создает массив из 100 символов, причем каждый из них default-initialized (т.е. наполнен мусором или не инициализирован), а потом, когда ты пишешь hello = "Hello world";, старое значение hello убирается и новое значение присваивается. Таким образом на месте мусора у тебя встает "Hello world". Причем только на месте первых 12 (да 12, строковый литерал оканчивается null-terminator'om ('\0')) символов, остальные 88 символов остаются мусором.Короче, ладно. Привел я два примера возможной инициализации твоего поля hello, использую один из них.
1
|
||||||||||||||||
| 14.08.2016, 18:09 | |
|
Помогаю со студенческими работами здесь
6
Использование классов
Использование классов Использование классов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты 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, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|