Functors are more powerful than simple function pointers, being able to contain their own data values, and allowing the programmer to emulate closures.
Something similar can be implemented in these kinds of languages, though, using references to interfaces that define a single method (member function).
CLI languages such as C# and Visual Basic .NET implement type-safe function pointers with delegates.
Extensively using function pointers to call functions may produce a slow-down for the code on modern processors, because a branch predictor may not be able to figure out where to branch to (it depends on the value of the function pointer at run time) although this effect can be overstated as it is often amply compensated for by significantly reduced non-indexed table lookups.
C++ includes support for object-oriented programming, so classes can have methods (usually referred to as member functions).
This example also demonstrates the use of a typedef for the pointer to member function added for simplicity.
Note that the only way this kind of typedef can actually be used is with a pointer - but that highlights the pointer-ness of it.