#include <iostream>
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;
}
|