Какой синтаксис вы используете, чтобы два объекта одного класса взаимодействовали друг с другом в своих соответствующих функциях?
и из Google 'синтаксис' определяется как
... расположение слов и фраз для создания правильно сформированных предложений в языке.
В этом контексте я не уверен, что вы подразумеваете под синтаксисом.
В качестве отправной точки и кое-что, о чем писать,
- во встроенных системах связи, я имел дело с парами работа / защита, все в C ++.
аппаратный контекст:
- Почти вся работа / защита hw заменяемая ... было нормально просто поменять местами слоты для карт.
Контекст программного обеспечения:
- Карты работы и защиты были "... двумя объектами одного класса."
Карты работы и защиты, с которыми hw сотрудничал для быстрогоответ, и программное обеспечение обнаружило любые действия (предпринятые hw) в течение следующей секунды.
Работа / защита имеет значение для ctor:
a) Обе карты построены безпредположения о присутствии другого.
Примечание: если другой никогда не установлен, система все равно будет работать, только без поведения 'recovery'.
Примерно так же, как два солдата никогда не сражались бы, если существовал только 1 из них.
b) Когда код контроллера готов создать второе (из пары), он знает, чтоПервая карта работы / защиты готова.Он просто создает вторую, а затем передает ссылку на последнюю конструкцию о первом родственнике.
c) При получении ссылки на родного брата второй объект из двух обновит оба экземпляра.Я обычно давал ссылку на вторую карту сразу после завершения ctor второй карты (без ошибок).
Примечание: В C ++ экземпляры одного и того же класса объектов имеют полный доступ к другому, когда предоставляетсяссылка или указатель.
Я также участвовал в усилиях по симуляции битвы (до телекомма).
Дальнейшие взаимодействия (битвы) могут выполняться каждым солдатом индивидуально, если ваш контроллеробеспечивает каждого солдата стимулом, то есть вызывает функцию.
Вы также можете обнаружить, что после получения стимула может быть легче, когда один экземпляр солдата выполняет одно действие, связанное со стимулом, в обоих экземплярах солдата.
Во время боевого сима, над которым я работал некоторое время назад, все действия сима стимулировались огнем оружия (и, в этом случае, лазерным сигналом).Расстояние и тип оружия (танк против ар15) влияли на летальность при попадании (как обнаруживается лазерным датчиком).
Это программное обеспечение было значительно упрощено, потому что каждый участник (и узел в симе) был и оружием, и целью.
Удачи в ваших усилиях.
Вероятно, последний комментарий:
Я обычно не передаю объекты в функции.Вместо этого я вызываю функции объектов.Есть много статей по этому вопросу.Я могу порекомендовать:
см .: https://pragprog.com/articles/tell-dont-ask
см. Также: https://martinfowler.com/bliki/TellDontAsk.html Tell-Don't-Ask - это принцип, который помогает людям вспомнить, что объектная ориентация связана ссвязывание данных с функциями, которые работают на этом ... Мартин Фаулер