लागू करना आवश्यक है, मैं अमूर्त वर्ग का उपयोग कर सी ++ में अनुरूपित इंटरफ़ेस स्टीरोटाइप चाहता हूं। लेकिन ग्रहण आईडीई में मैं "इस लाइन पर एकाधिक मार्करों - प्रकार 'हैंडलर' विरासत में मिला शुद्ध आभासी विधि को लागू करना चाहिए 'हैंडलर :: setNext'"प्रकार को विरासत में शुद्ध वर्चुअल विधि बी
मेरा प्रश्न यह क्यों है ?.
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