关于C++:”=0″在纯虚函数的删除中意味着什么?

What does `= 0` mean in the decalartion of a pure virtual function?

本问题已经有最佳答案,请猛点这里访问。

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

这是有人给我的类声明中的一个方法。我不知道"0"是什么意思。这是怎么一回事?

1
virtual void Print() const = 0;


= 0使函数纯虚拟化,使类成为抽象类。

抽象类基本上是一种接口,派生类需要实现才能实例化。然而,还有更多的内容,它是C++中面向对象编程的一些基本知识。如果你不知道这些,你需要回到课本上读起来。如果你不了解他们,就无法前进。

也就是说,有关什么是虚函数和纯虚函数的一些解释,请参见这个相关的问题。和往常一样,C++ FAQ是此类问题的极好资源。


它意味着虚拟函数是纯的,这意味着您不能这样调用它:函数没有任何代码,因此= 0。只有通过派生类并重写函数,才能调用它。无法实例化具有纯虚拟函数的类,因此它们在某些语言中称为抽象类、接口。


基本上,它意味着函数没有代码。这意味着您不能使用此类的实例。相反,它只能是一个基类。