I'm watching tutorials from thenewboston on youtube ,and I have few questions about Polymorphism. Here is his code:
#include <iostream>
using namespace std;
class Enemy{
   protected:
   int attackPower;
public:
    void setAttackPower(int a){
    attackPower=a;
    }
};
class Ninja:public Enemy{
public:
    void attack(){
    cout<<"I am a ninja,ninja chop! -"<<attackPower<<endl;}
};
class Monster:public Enemy{
public:
void attack() {
cout<<"monnster must eat you!!! -"<<attackPower<<endl;
}
};
int main()
{
    Ninja n;
    Monster m;
    Enemy *enemy1=&n;
    Enemy *enemy2=&m;
    enemy1->setAttackPower(29);
    enemy2->setAttackPower(99);
    n.attack();
    m.attack();
}
My question is : Can I write the code in main() like this(or shouldn't I and WHY??):
Ninja n;
Monster m;
//Enemy *enemy1=&n;
//Enemy *enemy2=&m;
//enemy1->setAttackPower(29);
//enemy2->setAttackPower(99);
n.setAttackPower(99);
m.setAttackPower(29);
n.attack();
m.attack();
 
     
     
     
     
    