小编Sep*_*ude的帖子

什么是"= 0;" 在C++中声明纯虚函数时做什么?

可能重复:
为什么纯虚函数初始化为0?

我知道,为了声明一个纯虚函数,你需要使用"= 0;" 语法,如下:

class Foo  
{
protected:
    Foo();
    virtual int getValue() = 0;
};
Run Code Online (Sandbox Code Playgroud)

我的问题是,究竟是什么(在编译器的内部工作中)做"= 0;" 语法呢?它实际上是否将函数指针设置为零?它只是一个意图陈述,就像Java和C#中的"抽象"保留字一样,如果是这样,为什么不在语言中添加诸如"abstract"之类的保留字而不是使用这种神秘的语法?

c++ virtual

12
推荐指数
1
解决办法
4288
查看次数

标签 统计

c++ ×1

virtual ×1