In the example below I have a abstract class with pure virtual method (aka FUN1) and a normal method (aka FUN2).
#include
class A
{
public:
Try to add using A::fun;
statement in B class :
#include
class A
{
public:
virtual void fun(int i) = 0; // FUN1
void fun() { this->fun(123); } // FUN2
};
class B : public A
{
public:
using A::fun;
virtual void fun(int i) { std::cerr << i << std::endl; }
};
int main(int, char**)
{
B b;
b.fun();
b.fun(5);
}