在c ++中的方法声明之后附加'= x'

Gar*_*luk 3 c++ syntax language-features

在C++中,当声明一个方法时,我注意到有时候该方法可能会附加一个分配.

有谁能告诉我这是什么?

例如:

virtual void MyMethod () = 0;
Run Code Online (Sandbox Code Playgroud)

'= 0'是什么意思.:)

感谢大家 !!!

Jak*_*org 6

这意味着它是一个纯虚函数,即在这个类中没有它的实际定义,它必须在子类中重写.它本身并不是一个赋值,零是你可以"分配"的唯一值.

这是C++语法; 在C#中,使用abstract关键字也可以完成相同的操作.

  • 关于没有定义的一点不一定是真的.相反,它只是意味着派生类需要实现该功能.如果不是,则无法实例化. (3认同)
  • 甚至任何零值都不会成立.*这里只有'0`有效*,它直接作为语法符号.`0L`或其他东西不起作用.即它可能在一些编译器上使用`NULL`代替(因为它扩展为'0`为他们),在其他编译器上它可能无法正常工作:) (2认同)
  • @calmh:不,你仍然声称"没有可用的实际定义".比尔甚至提出了一个实例定义_must_可用的例子. (2认同)