Static variable belongs to the class and not to the object; it is initialized only once; Then what is the practical utility of static variable; kindly give any example with code to understand the logic better?
Static variable belongs to the class and not to the object; it is initialized only once; Then what is the practical utility of static variable; kindly give any example with code to understand the logic better?
// static1.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
void showstat( int curr ) {
static int nStatic; // Value of nStatic is retained
// between each function call
nStatic += curr;
cout << "nStatic is " << nStatic << endl;
}
int main() {
for ( int i = 0; i < 5; i++ )
showstat( i );
}
nStatic is 0 nStatic is 1 nStatic is 3 nStatic is 6 nStatic is 10 The following example shows the use of static in a class.
// static2.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
class CMyClass {
public:
static int m_i;
};
int CMyClass::m_i = 0;
CMyClass myObject1;
CMyClass myObject2;
int main() {
cout << myObject1.m_i << endl;
cout << myObject2.m_i << endl;
myObject1.m_i = 1;
cout << myObject1.m_i << endl;
cout << myObject2.m_i << endl;
myObject2.m_i = 2;
cout << myObject1.m_i << endl;
cout << myObject2.m_i << endl;
CMyClass::m_i = 3;
cout << myObject1.m_i << endl;
cout << myObject2.m_i << endl;
}
0 0 1 1 2 2 3 3
0 Comments
Please add nice comments or answer ....