Example

class Base {
public:
virtual void fnc();
};

class Derived: public Base {
public:
void fnc(){}
};


Solution
When overriding virtual functions, declare derived functions as virtual as well.


class Base {
public:
virtual void fnc();
};

class Derived: public Base {
public:
virtual void fnc(){}
};