On any combat round, when there is no destroyer, each Sub get a surprise strike.
Assuming conditions are met for a Surprise Strike:
On any hit by Sub, remove immediatly an opponent unit without retaliation (except for enemy’s Sub which can roll in the same phase when their is no Destroyer on the opposing side).
All the surviving units can roll to hit the Subs, except for planes (which cannot hit when there is no Destroyer, neither can be hit by Subs).
In your example, if the Sub miss, then Cruiser can roll. If it gets a hit, then the battle is over.
If neither Sub or Cruiser get a hit, Sub can have another surprise roll if it stay for another combat round.
If Sub roll and has a hit, then the Cruiser cannot roll.
If Sub miss, Cruiser can roll.
Getting a hit then Sub is sunk, it is over.
Still a miss, it goes for another combat round if the attacker doesn’t retreat or the Sub doesn’t submerge.
And it start all over again…