【发布时间】:2013-08-10 15:28:07
【问题描述】:
为什么在下一段代码中需要在函数前使用“&”?
void (Mammal::*pFunc) () const=0;
pFunc=&Mammal::Move;
Move() 是基本类中的虚函数,pFunc 是指向此类中虚函数的指针。 那么为什么我们需要使用“&”呢?根据虚函数的一些特殊性质? 或者它只是语法?
【问题讨论】:
-
使用指向成员函数的指针通常不会很好
-
我们需要使用
&,因为标准是这样规定的。 -
指向虚函数的指针和指向非虚成员函数的指针在语法上没有区别。它们在底层实现方式不同,但程序员不应该看到这一点。
标签: c++ function pointers virtual