Понимание двойной отправки C ++
Я пытаюсь понять, как работает двойная отправка. Я создал пример, в котором мог сражаться монстр и воин, полученные из абстрактного класса Существо. Класс «Существо имеет метод»борьба", который определяется в производных классах, и в каждом производном классе определяется, что происходит, если воин сражается с воином или с монстром и т. д. Я написал следующий код:
#include
using namespace std;
class Monster;
class Warrior;
class Creature{
public:
virtual void fight(Creature&) =0;
};
class Monster: public Creature{
void fightwho(Warrior& w) {cout