Here's what I mean. I have a class hierarchy:
class A {
   virtual int f() = 0;
};
class B : public A {
   int f() override {return 5;}
   void doSpecificStuff() {}
}
B is a self-sufficient class that can be used on its own. But it also has many descendants:
class C : public B {
   int f() override {return 171;}
}
Is there any way to make sure that I won't forget to re-implement f when subclassing B?
 
    