#include <iostream>
using namespace std;

class Base
{
	public:
		virtual void Foo() = 0;
};

// ***** This is how you define pure virtual function outside class
void Base::Foo () {
	cout << "Base::Foo()\n";
}

class Derived
	: public Base
{
	public:
	 void Foo() { 
	 	Base::Foo();  // ***** This is how you call it
	 }
};

int main() {
	Derived d;
	d.Foo();
	return 0;
}