|
0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 74
|
||||||
Инициализация массива в конструкторе29.08.2019, 11:24. Показов 1746. Ответов 6
подскажите пожалуйста, по условиям задачи необходимо создать массив int [s} именно в констукторе, но в таком случае он не является частью класса и я не могу обращаться к нему через функции? как можно переделать? спасибо
0
|
||||||
| 29.08.2019, 11:24 | |
|
Ответы с готовыми решениями:
6
Инициализация массива в конструкторе
Инициализация элементов массива в конструкторе |
|
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
|
||||||
| 29.08.2019, 11:29 | ||||||
|
Поля класса нужно объявлять внутри самого класса, а не внутри его методов, если они нужны не как временные переменные
0
|
||||||
|
0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 74
|
|
| 29.08.2019, 13:08 [ТС] | |
|
Хорошо если я объявляю массив int s[] в объявлении класса и потом мне в конструкторе надо по условиям задачи создать массив произвольного размера. Как это прописать?
0
|
|
|
60 / 45 / 15
Регистрация: 06.03.2018
Сообщений: 202
|
|
| 29.08.2019, 13:32 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 31.05.2017
Сообщений: 74
|
||||||
| 29.08.2019, 13:49 [ТС] | ||||||
|
Я не могу понять, здесь получается два конструктора ?
Добавлено через 9 минут Вот например так если сделать, почему массив не создаётся?
0
|
||||||
|
495 / 209 / 70
Регистрация: 27.05.2016
Сообщений: 557
|
||||||
| 29.08.2019, 14:02 | ||||||
0
|
||||||
|
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
|
|
| 29.08.2019, 15:54 | |
Сообщение было отмечено mlippi80 как решение
Решение
mlippi80, да, в том коде, который я написал два - один без параметров, который обнуляет переменную, хранящую размер, и который "обнуляет" указатель на участок памяти массива; второй конструктор - принимает размер массива, запоминает и выделяет необходимую память под него.
Вы же в своем коде просто создали указатель на массив, но не выделили под него память, затем пытаетесь получить доступ к рандомной(!!!) памяти, вместо того чтобы создать массив рандомного (зачем?) размера. Если на момент компиляции программы размер массива данных неизвестен, нужно использовать операторы new и delete[] для выделения динамической памяти и ее освобождения.
1
|
|
| 29.08.2019, 15:54 | |
|
Помогаю со студенческими работами здесь
7
Задание размера и инициализация массива указателей в конструкторе Инициализация указателей в конструкторе инициализация перменных в конструкторе Инициализация *char в конструкторе Инициализация char в конструкторе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|