|
18 / 19 / 4
Регистрация: 27.06.2016
Сообщений: 236
|
|
Как инициализировать статические переменные класса если они в привате?08.09.2021, 19:38. Показов 3681. Ответов 20
Метки нет (Все метки)
Собственно я решил потренировать свои навыки в ООП и для этого создал себе задачу сделать некий класс для управления насосами. Насосы , их может быть много, они могут качать могут не качать.
Я захотел сделать так чтобы все управление насосами шло полностью через свойства объекта(не силен в терминологии имею ввиду что все доступно через точку) Вот что получается: Насос: имеет свой номер, имеет статус(качает или не качает) Количество насосов это статическая переменная. Каждый объект с помощью конструктора увеличивает эту переменную хранящую количество насосов на единицу. Ее можно посмотреть но нельзя менять. То есть чтобы узнать количество насосов нужна статическая функция. Потому что среди модификаторов доступа в классе в С++ нет такого варианта чтобы снаружи можно было читать но нельзя было менять. Возникает проблема , а как собственно инициализировать нулем количество насосов? Оно же лежит в привате а туда никак не залезть никому снаружи. А изнутри нет "статического конструктора" одного для всех экземпляров. Далее возникает следующая проблема. Хотелось бы иметь статическую функцию которая может посылать сообщения всем обьектам : " всем стоять", " все качайте", "дайте список тех кто работает", Чтобы это сделать, нужно создавать статический-динамический список ссылок на все насосы например вектор содержащий указатели в который каждый объект при своем создании добавит ссылку на себя. ( а как он может потом себя удалить будет искать нужную ссылку в векторе по значению?) В общем вопрос как весь этот ООП зоопарк загнать в один класс используя С++? Ведь это как мне кажется классическая задача ооп в геймдеве, там тоже юниты плодятся тысячами и им даются команды типа " все упали от взрыва" или кто ближе 100 метров к взрыву у того отлетели уши.
0
|
|
| 08.09.2021, 19:38 | |
|
Ответы с готовыми решениями:
20
Как инициализировать статические члены класса Как правильно инициализировать статические поля класса Как правильно инициализировать статические члены класса? |
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|
| 29.09.2021, 12:35 | |
|
1
|
|
| 29.09.2021, 12:35 | |
|
Как при создании экземпляра класса инициализировать переменные вложенного класса Не могу инициализировать переменные класса Где инициализировать переменные класса? Как инициализировать переменные?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|