In some cases, it is possible to call a class member
function without creating the class object.
In the following example, the program will
print "hello world" although class A has never been
created. When the program enters the "PrintMe"
function, the "this" pointer is zero. This is fine as
long as you don't access data members through
the "this" pointer.
#include <stdio.h>
class A {
public:
void PrintMe();
};
void A::PrintMe()
{
printf("Hello World\n");
}
void main()
{
A* p = 0;
p->PrintMe();
}
reference site
http://www.devx.com/tips/Tip/15846