|
51 / 50 / 14
Регистрация: 17.11.2012
Сообщений: 427
|
||||||
В зависимости от выбора пользователя, инициализировать один из классов-наследников и использовать только его01.02.2016, 20:59. Показов 755. Ответов 7
Метки нет (Все метки)
Всем здрасьте.
У меня такая ситуация: Есть класс-родитель: Main Есть много классов-наследников: One, Two, Three, Four .... и т.д. Теперь проблема: В зависимости от выбора пользователя, мне нужно инициализировать один из классов-наследников и использовать ТОЛЬКО его. Как мне тут поступить ? Я не могу додумать .... У меня в коде есть 3 стадии для ВЫБРАННОГО класса-наследников: 1. Инициализация 2. Обновление данных 3. Рисование Что у меня в голове: -Описать все классы-наследники(если их будет 50, то ....) -Завести переменную NUM(будет указывать на какой именно) -Проверять NUM и использовать только тот класс-наследник, который нужен. Хотелось бы иметь какой-нибудь указатель, чтобы в него можно было записать класс-наследник, который выбрали. Не могу додумать как это сделать... Мой говнокод в голове: Кликните здесь для просмотра всего текста
0
|
||||||
| 01.02.2016, 20:59 | |
|
Ответы с готовыми решениями:
7
Как использовать наследников от стандартных классов? Например, CMyEdit? Запихивание нескольких классов-наследников в один динамический массив Подключение файла в зависимости от выбора пользователя |
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 01.02.2016, 21:36 | |||||||
|
http://rextester.com/KGK16013
3
|
|||||||
|
51 / 50 / 14
Регистрация: 17.11.2012
Сообщений: 427
|
||||||
| 01.02.2016, 23:40 [ТС] | ||||||
|
Уф, сложно разобраться, но я почитал с других источников про Полиморфизм, очень полезно было ознакомится.
Можно сюда пример полегче ? Давайте я поясню детали моих классов. Я делаю персонажей, всё то что у этих персонажей общего, я закинул в класс-родитель - Main; Дальше идут классы-наследники, в этих классах уже индивидуальные способности персонажей - Mage, Warrior, ... Как я понял, мне в родительском классе нужно создать virtual функции, которые будут в классах-наследниках ? Такой код сойдёт за годноту ?
0
|
||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 02.02.2016, 00:12 | |||
|
но строка: Не по теме: что за игру делаете?
0
|
|||
| 02.02.2016, 00:16 | |
|
0
|
|
|
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
|
|||||||
| 02.02.2016, 00:24 | |||||||
|
Добавлено через 7 минут ![]()
0
|
|||||||
|
51 / 50 / 14
Регистрация: 17.11.2012
Сообщений: 427
|
|
| 02.02.2016, 11:25 [ТС] | |
|
hoggy, Вот тут у меня тоже есть СОМНЕНИЕ, смогу ли я использовать функцию InitializeMage ?
По идеи я беру указатель от класса-родителя Main, не думаю что в смогу вызвать InitializeMage, надо будет проверить ... Можно проще, сделать. Но спасибо, я более менее разобрался ! Добавлено через 10 часов 23 минуты hoggy, Про игру ... обычный платформер, всё уже сделано, кроме персонажей и серв., клиент. частей ... Вернее даже персонажи сделаны, осталось разобраться с моей проблемой, которая собственно в моих постах
0
|
|
| 02.02.2016, 11:25 | |
|
Помогаю со студенческими работами здесь
8
Инициализировать объект в одной форме и использовать его в другой
Составьте программу, которая в зависимости от выбора пользователя Реализация классов-наследников или классов-родителей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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(), которая. . .
|