Class C++

#include 
using namespace std;
class Animal{
public:
    Animal(int health = 100);
    virtual void Greet() const = 0;   //pure virtual member function
    virtual void DisplayHealth() const;
protected:
    int m_Health;
};
Animal::Animal(int health): m_Health(health){}
void Animal::DisplayHealth() const{
    cout << "Health: " << m_Health << endl;
}
class Orc : public Animal{
public:
    Orc(int health = 120);
    virtual void Greet() const;
};
Orc::Orc(int health):
    Animal(health)
{}
void Orc::Greet() const
{
    cout << "The orc grunts hello.\n";
}
int main()
{
    Animal* pAnimal = new Orc();
    pAnimal->Greet();
    pAnimal->DisplayHealth();
    return 0;
}