相关疑难解决方法(0)

虚函数和纯虚函数之间的区别

可能重复:
C++ Virtual/Pure Virtual Explained

纯虚函数和虚函数有什么区别?

我知道"纯虚函数是一个没有正文的虚函数",但这意味着什么,以及下面这一行实际完成的内容:

virtual void virtualfunctioname() = 0
Run Code Online (Sandbox Code Playgroud)

c++ function pure-virtual

202
推荐指数
4
解决办法
37万
查看次数

纯虚函数与实现

我的基本理解是没有纯虚函数的实现,但是,有人告诉我可能有纯虚函数的实现.

class A {
public:
    virtual void f() = 0;
};

void A::f() {
    cout<<"Test"<<endl;
}
Run Code Online (Sandbox Code Playgroud)

代码是否正常?

使其成为具有实现的纯虚函数的目的是什么?

c++ pure-virtual

162
推荐指数
6
解决办法
8万
查看次数

未实现的纯虚拟方法?

问题是:尝试编译时,我不断收到未实现的纯虚拟方法错误。我已经在抽象基类中实现了所有纯虚方法。有任何想法吗?

这是抽象基类:

class record{
public:
    virtual int getID()=0;
    virtual record *clone(); 
};
Run Code Online (Sandbox Code Playgroud)

和实施:

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;
};
Run Code Online (Sandbox Code Playgroud)

抱歉,这是完整的错误消息:

“record”中未实现的纯虚拟方法“getID”

也许这段代码导致了错误:

int hashTable::hash(record *x) {
   return floor(m * (x->getID() * A - floor(x->getID() * A)));
}
Run Code Online (Sandbox Code Playgroud)

c++ inheritance abstract-class pure-virtual

6
推荐指数
1
解决办法
3万
查看次数