The type a must implement the inherited pure virtual method b
<p>I want simulated interface sterotype in C++ using abstract class. But in Eclipse IDE I get "Multiple markers at this line
    - The type 'Handler' must implement the inherited pure virtual method 
     'Handler::setNext'"</p>

<p>My question is Why this?. </p>

<p>Handler.h</p>

<pre><code>class Handler {
 public:

    virtual void setNext(Handler &amp;next)  = 0;
    Handler();
    virtual ~Handler();
    virtual void process()  = 0;
 public:

    Handler *nextInChain;

};
</code></pre>

<p>Handler.cpp</p>

<pre><code>#include "Handler.h"
Handler::Handler(){
}
Handler::~Handler(){
}
</code></pre>

<p>Oracle.h</p>

<pre><code>#include "Handler.h"
class Oracle : virtual public Handler {
 public:
    Oracle();
    virtual ~Oracle();
    virtual void process();
    virtual void setNext(Handler &amp;next);
 private:

};
</code></pre>

<p>Oracle.cpp</p>

<pre><code>#include "Oracle.h"

Oracle::Oracle(){
Handler AQUI;//AQUI I get Multiple markers at this line
             //- The type 'Handler' must implement the inherited pure virtual method 
 //'Handler::setNext'
}

Oracle::~Oracle(){
}

void Oracle::process(){
}

void Oracle::setNext(Handler &amp;next){
}
</code></pre>
