Вы пытаетесь использовать наследование для структурирования последовательностей связанных действий, которые разделяют состояние члена aopsi.Однако вы используете разные экземпляры каждого класса, производного Score.Таким образом, каждый экземпляр будет иметь свое собственное, независимое состояние.
Вы можете сохранить свою структуру, сделав A_after
производным от A_action
, создав только экземпляр A_after a
и выполнив все действия на a
.
a.setAopsi(a.Akick());
a.goalA(a.A_shot());
Это вы можете сделать для каждого игрока.Не забудьте также инициализировать scoreA = 0
в определении класса.
(Использование статического для aopsi не будет работать, так как вы не можете установить aopsi для каждого игрока).
Кстати, избегайтеusing namespace std
в заголовочных файлах.Примеры C ++ часто используют его, чтобы сделать код коротким (что совершенно справедливо для коротких фрагментов, которые не используются в других местах).