在C++中,"= 0"是什么意思?

5

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

大家好。

首先,我知道在C++中声明纯虚方法的方式如下:

virtual void myMethod() = 0;

昨晚我失眠了,脑子里开始想这个 "= 0" 部分是否有语义意义,或者它只是为了能够声明纯虚方法。

这种结构还有其他用途吗?
(不要告诉我 int v = 0; 也算 :P)


3
为什么纯虚函数要被初始化为0? - ypnos
1
不错的发现。Stack Overflow 真的需要一个更好的搜索功能(或者我需要更擅长使用它 :) ) - cwap
如果这个东西不已经在我的记忆里了,我就找不到它。我的大脑缓存还没有被清空。 - ypnos
2个回答

4

这是一个虚拟的纯方法。

这意味着:

  • 我们不提供实现(有一种提供实现的方式,但没有用处)
  • 我们希望子类实现此方法
  • 我们使这个类无法实例化:只有完全实现了的子类才能被实例化

楼主已经知道了。 - jv42

0

这意味着该方法是纯虚的。因此,子类型必须实现它。此外,它在这里没有实现,而且该类也无法实例化。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接