Member function pointers

Started by
2 comments, last by Beer Hunter 17 years, 11 months ago
Greetings, Using C++/MSVS 2005 Express. I've got a class where I want to be able to call a multitude of different member functions based on certain conditions. I want to avoid a massive switch statement and use function pointers. Most of the examples I've googled for have shown have to create and use member function pointers, but not within the class that contains the member function. Example:
class Foo
{
   public:
      Foo();
      ~Foo();

      void Bar();

      void (Foo::*funcPtr)(void);
};

Foo::Foo()
{
   funcPtr = &Foo::Bar; // <-- This compiles ok.
   (*funcPtr)(); // <-- Cannot get this syntax correct.
}
Thanks in advance.
Advertisement
(*this.*funcPtr)();
Thanks, that works!
Or (this->*funcPtr)(). The thing to know is that .* and ->* are special operators made for this purpose.

This topic is closed to new replies.

Advertisement