May 12th, 2006, 7:47 AM
|
#3
|
|
Resident Grouch
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 
|
Missing an asterisk.
Quote:
|
Originally Posted by MSDN
A pointer to a member of a class differs from a normal pointer because it has type information for the type of the member and for the class to which the member belongs. A normal pointer identifies (has the address of) only a single object in memory. A pointer to a member of a class identifies that member in any instance of the class. The following example declares a class, Window, and some pointers to member data.
class Window
{
public:
Window(); // Default constructor.
Window( int x1, int y1, // Constructor specifying
int x2, int y2 ); // window size.
BOOL SetCaption( const char *szTitle ); // Set window caption.
const char *GetCaption(); // Get window caption.
char *szWinCaption; // Window caption.
};
// Declare a pointer to the data member szWinCaption.
char * Window::* pwCaption = &Window::szWinCaption; In the preceding example, pwCaption is a pointer to any member of class Window that has type char*. The type of pwCaption is char * Window:  . The next code fragment declares pointers to the SetCaption and GetCaption member functions.
const char * (Window::*pfnwGC)() = &Window::GetCaption;
BOOL (Window::*pfnwSC)( const char * ) = &Window::SetCaption;
|
|
|
|