programming-examples/c++/Others/Abstract classes by virtual function with no body.cpp
2019-11-15 12:59:38 +01:00

43 lines
785 B
C++

Abstract classes by virtual function with no body
#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;
}