问题如下:当我尝试编译时,我一直收到未实现纯虚方法的错误。我已经在抽象基类中实现了所有纯虚方法。有什么想法吗?
这是抽象基类:
class record{
public:
virtual int getID()=0;
virtual record *clone();
};
实现方式:
class sdata: public record{
public:
sdata(std::string s = ""){data=s; ID=atoi(data.substr(0,8).c_str());}
virtual int getID(){return ID;}
private:
std::string data;
int ID;
};
抱歉,这里是完整的错误信息:
在'record'中未实现纯虚拟方法'getID'
也许这段代码引起了错误:
int hashTable::hash(record *x) {
return floor(m * (x->getID() * A - floor(x->getID() * A)));
}
getID
声明中添加override
关键字,看看会发生什么。 - Matt Phillips