int (*pt2Function)(float, char, char) = NULL;                        // C

int (TMyClass::*pt2Member)(float, char, char) = NULL;                // C++

int (TMyClass::*pt2ConstMember)(float, char, char) const = NULL;     // C++

 

// 2.5 calling a function using a function pointer

int result1 = pt2Function    (12, 'a', 'b');          // C short way

int result2 = (*pt2Function) (12, 'a', 'b');          // C

 

TMyClass instance1;

int result3 = (instance1.*pt2Member)(12, 'a', 'b');   // C++

int result4 = (*this.*pt2Member)(12, 'a', 'b');       // C++ if this-pointer can be used

 

TMyClass* instance2 = new TMyClass;

int result4 = (instance2->*pt2Member)(12, 'a', 'b');  // C++, instance2 is a pointer

delete instance2;