I use c++ 17 and have the next set of classes
class A { public: virtual void fun() = 0; }; class B : public A { public: void fun() override { } }