explain Static member function

A static member function in a class can access only other static members of a class or variables which are not members of its class. It can be invoked even without an object instance, unlike any other member functions:
class stat{
int num;
stat(int n = 0) {num=n;}
static void print() {cout <<"static member function" < };

void main() {

stat::print(); //no object instance required
stat s(1);
s.print(); //but still can be called from an object

}//end main
Static members are used when all other data members of an object are also static; when the function does not depend on any other object member (like print() above); or simply when a global function is undesirable so it is wrapped in a class.

No comments: