  #include <iostream>

using namespace std;

class enemy{

   public:
       void setAttackPower(int a){

           attackPower = a;
       }
   protected:
    int attackPower;

};


class ninja : public enemy{

  public:

    void attack(){

        cout << "ninja attack" << attackPower;
    }

};

class monster: public enemy{

 public:
    void attack(){

        cout << "I am a monster" << attackPower;

    }
};

int main()
{
   ninja n;
   enemy *enemy1 = &n;
   enemy1->setAttackPower(20); // working fine up to here,this is where I 
  //  thought it would set the n objects attackPower to 20 but does not
   n.attack(); 

}