【问题标题】:What does "= 0" mean in C++? [duplicate]“= 0”在 C++ 中是什么意思? [复制]
【发布时间】:2011-05-14 08:52:03
【问题描述】:

可能重复:
Why pure virtual function is initialized by 0?

大家好..

首先,我知道你在 C++ 中声明了一个像这样的纯虚方法:

virtual void myMethod() = 0;

.. 但是昨晚我睡不着觉,我的书呆子开始思考“= 0”部分是否有任何语义意义,或者它是否“只是”能够声明纯虚拟方法。

还有其他地方使用这种结构吗?
(并且没有 - int v = 0; 不算:P)

【问题讨论】:

  • 不错的发现。所以真的需要一个更好的搜索功能(或者我需要更好地使用它:))
  • 如果它不在我的记忆中,我就不会找到它。大脑缓存尚未刷新。

标签: c++ syntax semantics


【解决方案1】:

这是一种虚拟纯方法。

这意味着:

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

【讨论】:

  • OP 已经知道了。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2019-12-08
    • 2021-09-30
    • 2018-09-25
    • 2019-09-12
    • 2011-11-19
    • 2011-08-23
    • 2017-05-08
    • 1970-01-01
    • 2014-11-06
    相关资源
    最近更新 更多