|
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269
|
||||||
Наследование переменных класса05.11.2019, 22:02. Показов 6681. Ответов 19
Метки нет (Все метки)
Добрый день. Имею класс P1 с некоторыми переменными. В ходе работы программы эти переменные задаются значениями. Второй класс должен их унаследовать и использовать в своих методах.
0
|
||||||
| 05.11.2019, 22:02 | |
|
Ответы с готовыми решениями:
19
ООП. Наследование переменных и методов от Базового класса к Дочернему и наоборот
Наследование переменных от интерфейса |
|
фрилансер
6451 / 5652 / 1129
Регистрация: 11.10.2019
Сообщений: 15,053
|
|
| 05.11.2019, 22:06 | |
|
SoBadDay, код то покажи
0
|
|
|
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269
|
||||||||||||||||||||||||||
| 05.11.2019, 22:14 [ТС] | ||||||||||||||||||||||||||
|
Даже не знаю, как правильно это сделать, ведь он довольно большой. Думаю, для начала покажу код одной функции, а к остальным могу применить данные мне советы.
0
|
||||||||||||||||||||||||||
|
фрилансер
6451 / 5652 / 1129
Регистрация: 11.10.2019
Сообщений: 15,053
|
||||||
| 05.11.2019, 22:20 | ||||||
|
SoBadDay,
0
|
||||||
|
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269
|
||||||
| 05.11.2019, 22:23 [ТС] | ||||||
|
Алексей1153, не совсем.
В целом принцип программы Вы поняли. Создали объект 1, запустили все функции. Создали объект 2, запустили все функции( они используют переменные объекта 1). Однако при выводе переменных объекта 2, компилятор выдаёт их, как
0
|
||||||
|
фрилансер
6451 / 5652 / 1129
Регистрация: 11.10.2019
Сообщений: 15,053
|
|||
| 05.11.2019, 22:27 | |||
|
Добавлено через 1 минуту
0
|
|||
|
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269
|
||
| 05.11.2019, 22:29 [ТС] | ||
|
Алексей1153,
0
|
||
|
фрилансер
6451 / 5652 / 1129
Регистрация: 11.10.2019
Сообщений: 15,053
|
||
| 05.11.2019, 22:35 | ||
|
0
|
||
|
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269
|
|
| 05.11.2019, 22:40 [ТС] | |
|
Алексей1153,
Однако переменных,значения которых мне нужно заимствовать, больше десятка. Определяются они не 1 строчкой кода. Например, вектора left и right содержат в себе по 100+ значений. Мне видится повторное их определение нерациональным. Неужели нет выхода из этой ситуации?
0
|
|
|
фрилансер
6451 / 5652 / 1129
Регистрация: 11.10.2019
Сообщений: 15,053
|
|
| 05.11.2019, 22:42 | |
|
SoBadDay, что значит заимствовать ? Если речь про инициализацию, то для этого есть конструктор и копирование
0
|
|
|
Вездепух
12933 / 6801 / 1820
Регистрация: 18.10.2014
Сообщений: 17,213
|
||
| 05.11.2019, 23:05 | ||
|
0
|
||
|
Комп_Оратор)
|
||
| 05.11.2019, 23:56 | ||
int явязь с каким-то значением разделяемым группой переменных.Если вам нужно такое поведения (и если я правильно это понял), то наследование не нужно. Достаточно создать объект и пользоваться ссылками на него. У всех будут одни и те же значения. А публичное наследование, обычно, применяется для наследования поведения. Методы базового класса - интерфейс наследников с которым они выглядят сходными по функционалу. На чём и наживаются ушлые программеры.
0
|
||
|
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269
|
|
| 06.11.2019, 13:50 [ТС] | |
|
0
|
|
|
Комп_Оратор)
|
||
| 06.11.2019, 15:01 | ||
|
SoBadDay, у меня есть сильное подозрение, что формулировка задачи на уровне решаемого алгоритма лучше чем чем формулировка на уровне реализации зависимостей и отношений в уже выбранном решении (наследования группы данных для различного использования одного и того же набора(!!)). Расскажите лучше, что хотите делать.
0
|
||
|
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269
|
||
| 07.11.2019, 08:53 [ТС] | ||
|
IGPIGP,
Например. Класс P1 содержит в себе переменную 'a' и функцию её инициализации. Класс P2 содержит в себе переменную 'b', и функцию её инициализации "5+a".
0
|
||
|
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269
|
||
| 07.11.2019, 21:03 [ТС] | ||
|
0
|
||
|
Комп_Оратор)
|
||
| 07.11.2019, 21:09 | ||
|
Всем обязательно прочесть "Ответчик" Р. Шекли перед регистрацией. Иначе учётная запись будет гореть в аду! ![]() Попробуйте создать неймспейсик в котором определите горсть переменных и покажите как вы будете их использовать. Это самый простой путь к ООП у людей измученных глобальными переменными. Видя хоть какой-то фрагмент кода будет легче что-то подсказать. Хотя может оказаться, что вам пока этого будет достаточно, кстати.
0
|
||
|
67 / 42 / 30
Регистрация: 26.03.2019
Сообщений: 269
|
||
| 07.11.2019, 21:22 [ТС] | ||
|
Если код не понятен, поясню. Есть вектор left, который заполняется внутри одного из методов класса P1. Позже, класс P2 использует этот вектор в для определения своих переменных.
0
|
||
|
Комп_Оратор)
|
|
| 07.11.2019, 23:17 | |
Сообщение было отмечено SoBadDay как решение
Решение
SoBadDay, глядя на содеянное вами я вам не судья. Это по ту сторону добра и зла. Когда нибудь вы напишете конструктор для вашего класса, свободную функцию (типа фабрики) которая будет работать с файлом и векторами... или ещё как-то. А пока я могу вам посоветовать создать в классе P2 поле P1 m_p1; a в конструкторе P1 вызовите m_p1.set_var(input), соответственно, это целое - должно быть параметром конструктора. А к полям типа left обращайтесь через имя данного объекта P1.
1
|
|
| 07.11.2019, 23:17 | |
|
Помогаю со студенческими работами здесь
20
Наследование нескольких переменных Наследование методов класса Наследование класса Устройство Наследование класса Exception Наследование класса Вектор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка 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, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|