`= 0`在纯虚函数的声明中意味着什么?

时间:2010-09-05 11:46:50

标签: c++ pure-virtual

  

可能重复:
  C++ Virtual/Pure Virtual Explained
  What's the difference between virtual function instantiations in c++
  Why pure virtual function is initialized by 0?

这是有人给我的一些类声明中的方法。我不知道'.. = 0'是什么意思。它是什么?

virtual void Print() const = 0;

3 个答案:

答案 0 :(得分:8)

= 0使函数 pure virtual ,使类成为 abstract class

抽象类基本上是一种接口,派生类需要实现才能实现。但是,还有更多内容,它是C ++中面向对象编程的一些基础知识。如果你不知道这些,你需要回到教科书并阅读。如果不理解它们,你就无法前进。

也就是说,请参阅 this related question ,了解有关虚拟和纯虚拟功能的一些解释。与往常一样, C++ FAQ 是此类问题的绝佳资源。

答案 1 :(得分:4)

这意味着虚函数是 pure ,这意味着你不能这样调用它:函数没有任何代码,因此= 0。只有派生类并覆盖函数,才能调用它。具有纯虚函数的类无法实例化,因此它们被称为抽象类,某些语言的接口。

答案 2 :(得分:1)

基本上,这意味着该功能没有代码。这意味着您无法使用此类的实例。相反,它只能是基类。