#pragma once class Soldier { private: double HP; double attack; double defence; char type; protected: Soldier() : HP(100), attack(1), defence(1) {}; Soldier(double _HP, double _attack, double _defence) : HP(_HP), attack(_attack), defence(_defence) {}; public: virtual int step() = 0; virtual void fire() = 0; };