#include <iostream>
using namespace std;

class Enemy
{
public:
        void SetAttackPower (int a)
        {
                AttackPower = a;
        }
        virtual void attack() = 0;
        virtual ~Enemy() {};
protected:
        int AttackPower;
};

class Monster: public Enemy
{
public:
        virtual void attack ()
        {
                cout << "uaghhh. i am going to eat you -" << AttackPower << endl;
        }
        ~Monster(){}
};

class Ninja: public Enemy
{
public:
        virtual void attack()
        {
                cout << "chop-chop -" << AttackPower << endl;
        }
        ~Ninja(){}
};

int main()
{
        Enemy* enemy1 = new Ninja();
        Enemy* enemy2 = new Monster();
        enemy1->SetAttackPower(22);
        enemy2->SetAttackPower(25);
        enemy1->attack();
        enemy2->attack();
        delete enemy1;
        delete enemy2;
        return 0;
}
