Answers

Question and Answer:

  Home  C++ Type Checking

⟩ Can you explain 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.

Consider following example:

#include <iostream>

using namespace std;

class S

{

static int i;

public:

static void init(int x)

{

i = x;

}

void show()

{

cout <<i;

}

};

int S::i;

int main()

{

S::init(100); //initialize static variable i before creating object

S x;

x.show();

return 0;

}

 205 views

More Questions for you: