#include <iostream>

class A {
public:
	A() {}
	virtual ~A() {}

	virtual void runFn() {GetPart(); }

private:
	virtual void GetPart() = 0;
};

class B : public A {
public:
	B() {}
	virtual ~B() {}

private:
	virtual void GetPart() override { std::cout << "GETPART RUN" << std::endl; }
};

int main()
{
	B b;
	b.runFn();
	return 0;
}