Possible Duplicate:
class has virtual functions and accessible non-virtual destructor
I got this code from following a tutorial by thenewboston:
#include <iostream>
using namespace std;
class Enemy {
public:
virtual void attack(){};
};
class Ninja: public Enemy {
public:
void attack(){
cout << "ninja attack"<<endl;
}
};
class Monster: public Enemy {
public:
void attack(){
cout << "monster attack"<<endl;
}
};
int main() {
Ninja n;
Monster m;
Enemy * enemy1 = &n;
Enemy * enemy2 = &m;
enemy1->attack();
enemy2->attack();
cin.get();
return 0;
}
Why do I get these warnings:
class Enemy has virtual functions and accessible non-virtual destructor
class Ninja has virtual functions and accessible non-virtual destructor
class Monster has virtual functions and accessible non-virtual destructor