5
我想在C++中使用抽象類模擬接口sterotype。但在Eclipse IDE中我碰到一個「在這一行 多個標記 - 類型‘處理程序’必須實現繼承純虛方法 ‘處理器:: setNext’」類型a必須實現繼承的純虛方法b
我的問題是,爲什麼這個?
handler.h中
class Handler {
public:
virtual void setNext(Handler &next) = 0;
Handler();
virtual ~Handler();
virtual void process() = 0;
public:
Handler *nextInChain;
};
Handler.cpp
#include "Handler.h"
Handler::Handler(){
}
Handler::~Handler(){
}
Oracle.h
#include "Handler.h"
class Oracle : virtual public Handler {
public:
Oracle();
virtual ~Oracle();
virtual void process();
virtual void setNext(Handler &next);
private:
};
Oracle.cpp
#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 &next){
}
您確定在這裏需要*虛擬繼承嗎?虛擬函數也適用於非虛擬繼承。 – leemes 2013-02-12 20:11:07