What is static function?
- Static member functions are used to maintain a single copy of a class member function across various objects of the class. Static member functions can be called either by itself, independent of any object, by using class name and :: (scope resolution operator) or in connection with an object.
- Restrictions on static member functions are :
1. They can directly refer to other static members of the class.
2. Static member functions do not have this pointer.
3. Static member function can not be virtual.
- Though there are several restrictions on static member functions, one good use of them is to initialize private static data members of a class before any object is created.
- Example :
using namespace std;
static int i;
static void init(int x)
i = x;
S::init(100); //initialize static variable i before creating object