我碰巧读过这样的函数定义:
virtual void printMarksheet() const = 0;
我最初认为语法可能不正确。所以我写了一个虚拟代码来检查。我编写了以下代码并编译。它编译成功。但我想知道这条线的意义。它是功能定义吗?或功能声明? const = 0的意义是什么。
class Marksheet
{
public:
virtual void printMarksheet() const = 0;
};
int main()
{
return 0;
}
答案 0 :(得分:0)
它是一个功能声明。 const=0
是两件不同的事情。通过定义const
,该函数将无法更改数据成员值。通过定义=0
,该函数被声明为纯虚函数。