A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FClass%2Fstatic</id>
		<title>C++/Class/static - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FClass%2Fstatic"/>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/Class/static&amp;action=history"/>
		<updated>2026-04-17T02:16:38Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B/Class/static&amp;diff=1340&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/Class/static&amp;diff=1340&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B/Class/static&amp;diff=1341&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/Class/static&amp;diff=1341&amp;oldid=prev"/>
				<updated>2010-05-25T10:25:37Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Accessing static members using non-static member functions.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class Cat&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
   Cat(int age):itsAge(age){count++; }&lt;br /&gt;
   virtual ~Cat() { count--; }&lt;br /&gt;
   virtual int GetAge() { return itsAge; }&lt;br /&gt;
   virtual void SetAge(int age) { itsAge = age; }&lt;br /&gt;
   virtual int GetHowMany() { return count; }&lt;br /&gt;
&lt;br /&gt;
private:&lt;br /&gt;
   int itsAge;&lt;br /&gt;
   static int count;&lt;br /&gt;
};&lt;br /&gt;
int Cat::count = 0;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   const int MaxCats = 5; int i;&lt;br /&gt;
   Cat *CatHouse[MaxCats];&lt;br /&gt;
   for (i = 0; i&amp;lt;MaxCats; i++)&lt;br /&gt;
      CatHouse[i] = new Cat(i);&lt;br /&gt;
   for (i = 0; i&amp;lt;MaxCats; i++)&lt;br /&gt;
   {&lt;br /&gt;
      cout &amp;lt;&amp;lt; CatHouse[i]-&amp;gt;GetHowMany();&lt;br /&gt;
      cout &amp;lt;&amp;lt; CatHouse[i]-&amp;gt;GetAge()+2;&lt;br /&gt;
      delete CatHouse[i];&lt;br /&gt;
      CatHouse[i] = 0;&lt;br /&gt;
   }&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Accessing static members without an object.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class Cat&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
   Cat(int age):itsAge(age){count++; }&lt;br /&gt;
   virtual ~Cat() { count--; }&lt;br /&gt;
   virtual int GetAge() { return itsAge; }&lt;br /&gt;
   virtual void SetAge(int age) { itsAge = age; }&lt;br /&gt;
   static int count;&lt;br /&gt;
private:&lt;br /&gt;
   int itsAge;&lt;br /&gt;
};&lt;br /&gt;
int Cat::count = 0;&lt;br /&gt;
void TelepathicFunction();&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   const int MaxCats = 5; int i;&lt;br /&gt;
   Cat *CatHouse[MaxCats];&lt;br /&gt;
   for (i = 0; i&amp;lt;MaxCats; i++)&lt;br /&gt;
   {&lt;br /&gt;
      CatHouse[i] = new Cat(i);&lt;br /&gt;
      TelepathicFunction();&lt;br /&gt;
   }&lt;br /&gt;
   for ( i = 0; i&amp;lt;MaxCats; i++)&lt;br /&gt;
   {&lt;br /&gt;
      delete CatHouse[i];&lt;br /&gt;
      TelepathicFunction();&lt;br /&gt;
   }&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
void TelepathicFunction()&lt;br /&gt;
{&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;There are &amp;quot;;&lt;br /&gt;
   cout &amp;lt;&amp;lt; Cat::count &amp;lt;&amp;lt; &amp;quot; cats alive!\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Calculate salary using static members.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class salary {&lt;br /&gt;
public:&lt;br /&gt;
   void init(const int b) {b_sal = b; your_bonus = 0;}&lt;br /&gt;
   void  calc_bonus(const double perc){ your_bonus = b_sal * perc; }&lt;br /&gt;
   static void  reset_all(const int p){ all_bonus = p; }&lt;br /&gt;
   int  comp_tot() const{ return (b_sal + your_bonus + all_bonus); }&lt;br /&gt;
private:&lt;br /&gt;
   int         b_sal;&lt;br /&gt;
   int         your_bonus;&lt;br /&gt;
   static int  all_bonus;     //declaration&lt;br /&gt;
};&lt;br /&gt;
int salary::all_bonus = 100;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   salary  w1, w2;&lt;br /&gt;
   w1.init(1000);&lt;br /&gt;
   w2.init(2000);&lt;br /&gt;
   w1.calc_bonus(0.2);&lt;br /&gt;
   w2.calc_bonus(0.15);&lt;br /&gt;
   salary::reset_all(400);&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot; w1 &amp;quot; &amp;lt;&amp;lt; w1.comp_tot() &amp;lt;&amp;lt; &amp;quot;   w2 &amp;quot;&lt;br /&gt;
        &amp;lt;&amp;lt; w2.comp_tot() &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Reference static method along with class name==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class SomeClass &lt;br /&gt;
{&lt;br /&gt;
 public:&lt;br /&gt;
   static void message(void) { cout &amp;lt;&amp;lt; &amp;quot;Hello, world!\n&amp;quot;; } ;&lt;br /&gt;
};&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   SomeClass::message();&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==static counter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class SomeClass &lt;br /&gt;
{&lt;br /&gt;
  public:&lt;br /&gt;
    static int count;&lt;br /&gt;
    SomeClass(int value) &lt;br /&gt;
    { &lt;br /&gt;
      count++; &lt;br /&gt;
      my_data = value;&lt;br /&gt;
    }; &lt;br /&gt;
    SomeClass(int value, int static_value) &lt;br /&gt;
  {&lt;br /&gt;
      count = static_value;&lt;br /&gt;
      my_data = value; &lt;br /&gt;
  };&lt;br /&gt;
    ~SomeClass(void) { count--; };&lt;br /&gt;
    int my_data;&lt;br /&gt;
};      &lt;br /&gt;
int SomeClass::count;&lt;br /&gt;
int main(void)&lt;br /&gt;
 {&lt;br /&gt;
   SomeClass One(1, 999); &lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;One: &amp;quot; &amp;lt;&amp;lt; One.my_data &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; One.count &amp;lt;&amp;lt; endl ;&lt;br /&gt;
   &lt;br /&gt;
   SomeClass Two(2);&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Two: &amp;quot; &amp;lt;&amp;lt; Two.my_data &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; Two.count &amp;lt;&amp;lt; endl ;&lt;br /&gt;
   &lt;br /&gt;
   SomeClass Three(3);&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Three: &amp;quot; &amp;lt;&amp;lt; Three.my_data &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; Three.count &amp;lt;&amp;lt; endl ;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==static field is shared among instances==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class SomeClass &lt;br /&gt;
{&lt;br /&gt;
  public:&lt;br /&gt;
    SomeClass(int value) { count++; my_data = value; }; &lt;br /&gt;
    SomeClass(int value, int static_value) &lt;br /&gt;
  {&lt;br /&gt;
      count = static_value; my_data = value; &lt;br /&gt;
  };&lt;br /&gt;
    ~SomeClass(void) { count--; };&lt;br /&gt;
    void show_values(void) { cout &amp;lt;&amp;lt; my_data &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; count &amp;lt;&amp;lt; endl; };&lt;br /&gt;
  private:  &lt;br /&gt;
    static int count;&lt;br /&gt;
    int my_data;&lt;br /&gt;
};      &lt;br /&gt;
int SomeClass::count;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   SomeClass One(1, 999); &lt;br /&gt;
   One.show_values();   &lt;br /&gt;
   &lt;br /&gt;
   SomeClass Two(2, 1000);&lt;br /&gt;
   Two.show_values();&lt;br /&gt;
   SomeClass Three(3);&lt;br /&gt;
   Three.show_values();&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==static functions and ID numbers for objects==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;  &lt;br /&gt;
using namespace std;  &lt;br /&gt;
class gamma  {  &lt;br /&gt;
   private:  &lt;br /&gt;
   static int total;        &lt;br /&gt;
      int id;                  &lt;br /&gt;
   public:  &lt;br /&gt;
      gamma(){  &lt;br /&gt;
         total++;              &lt;br /&gt;
         id = total;           &lt;br /&gt;
      }  &lt;br /&gt;
      ~gamma(){  &lt;br /&gt;
         total--;  &lt;br /&gt;
         cout &amp;lt;&amp;lt; &amp;quot;Destroying ID number &amp;quot; &amp;lt;&amp;lt; id  &amp;lt;&amp;lt; endl;  &lt;br /&gt;
      }  &lt;br /&gt;
      static void showtotal(){  &lt;br /&gt;
         cout &amp;lt;&amp;lt; &amp;quot;Total is &amp;quot; &amp;lt;&amp;lt; total &amp;lt;&amp;lt; endl;  &lt;br /&gt;
      }  &lt;br /&gt;
      void showid(){  &lt;br /&gt;
         cout &amp;lt;&amp;lt; &amp;quot;ID number is &amp;quot; &amp;lt;&amp;lt; id &amp;lt;&amp;lt; endl;  &lt;br /&gt;
      }  &lt;br /&gt;
};  &lt;br /&gt;
int gamma::total = 0;&lt;br /&gt;
int main(){  &lt;br /&gt;
   gamma g1;  &lt;br /&gt;
   gamma::showtotal();  &lt;br /&gt;
  &lt;br /&gt;
   gamma g2, g3;  &lt;br /&gt;
   gamma::showtotal();  &lt;br /&gt;
  &lt;br /&gt;
   g1.showid();  &lt;br /&gt;
   g2.showid();  &lt;br /&gt;
   g3.showid();  &lt;br /&gt;
   return 0;  &lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Static member data.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class Cat&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
   Cat(int age):itsAge(age){count++; }&lt;br /&gt;
   virtual ~Cat() { count--; }&lt;br /&gt;
   virtual int GetAge() { return itsAge; }&lt;br /&gt;
   virtual void SetAge(int age) { itsAge = age; }&lt;br /&gt;
   static int count;&lt;br /&gt;
private:&lt;br /&gt;
   int itsAge;&lt;br /&gt;
};&lt;br /&gt;
int Cat::count = 0;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   const int MaxCats = 5; int i;&lt;br /&gt;
   Cat *CatHouse[MaxCats];&lt;br /&gt;
   for (i = 0; i&amp;lt;MaxCats; i++)&lt;br /&gt;
      CatHouse[i] = new Cat(i);&lt;br /&gt;
   for (i = 0; i&amp;lt;MaxCats; i++)&lt;br /&gt;
   {&lt;br /&gt;
      cout &amp;lt;&amp;lt; Cat::count;&lt;br /&gt;
      cout &amp;lt;&amp;lt; CatHouse[i]-&amp;gt;GetAge();&lt;br /&gt;
      delete CatHouse[i];&lt;br /&gt;
      CatHouse[i] = 0;&lt;br /&gt;
   }&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Static member functions.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class Cat&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
   Cat(int age):itsAge(age){count++; }&lt;br /&gt;
   virtual ~Cat() { count--; }&lt;br /&gt;
   virtual int GetAge() { return itsAge; }&lt;br /&gt;
   virtual void SetAge(int age) { itsAge = age; }&lt;br /&gt;
   static int GetHowMany() { return count; }&lt;br /&gt;
private:&lt;br /&gt;
   int itsAge;&lt;br /&gt;
   static int count;&lt;br /&gt;
};&lt;br /&gt;
int Cat::count = 0;&lt;br /&gt;
void TelepathicFunction();&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
   const int MaxCats = 5;&lt;br /&gt;
   Cat *CatHouse[MaxCats]; int i;&lt;br /&gt;
   for (i = 0; i&amp;lt;MaxCats; i++)&lt;br /&gt;
   {&lt;br /&gt;
      CatHouse[i] = new Cat(i);&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;There are &amp;quot; &amp;lt;&amp;lt; Cat::GetHowMany() &amp;lt;&amp;lt; &amp;quot; cats alive!\n&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   for ( i = 0; i&amp;lt;MaxCats; i++)&lt;br /&gt;
   {&lt;br /&gt;
      delete CatHouse[i];&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;There are &amp;quot; &amp;lt;&amp;lt; Cat::GetHowMany() &amp;lt;&amp;lt; &amp;quot; cats alive!\n&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==static members in classes==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class CDummy {&lt;br /&gt;
  public:&lt;br /&gt;
    static int n;&lt;br /&gt;
    CDummy () { n++; };&lt;br /&gt;
    ~CDummy () { n--; };&lt;br /&gt;
};&lt;br /&gt;
int CDummy::n=0;&lt;br /&gt;
int main () {&lt;br /&gt;
  CDummy a;&lt;br /&gt;
  CDummy b[5];&lt;br /&gt;
  CDummy * c = new CDummy;&lt;br /&gt;
  cout &amp;lt;&amp;lt; a.n &amp;lt;&amp;lt; endl;&lt;br /&gt;
  delete c;&lt;br /&gt;
  cout &amp;lt;&amp;lt; CDummy::n &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Static member variables and functions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class MyClass&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
    static int s_Total;   &lt;br /&gt;
    MyClass(int level = 0);&lt;br /&gt;
    static int GetTotal();&lt;br /&gt;
private:&lt;br /&gt;
    int myLevel;&lt;br /&gt;
};&lt;br /&gt;
int MyClass::s_Total = 0;&lt;br /&gt;
MyClass::MyClass(int level):myLevel(level)&lt;br /&gt;
{&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;born!&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
    ++s_Total;&lt;br /&gt;
}&lt;br /&gt;
int MyClass::GetTotal()&lt;br /&gt;
{&lt;br /&gt;
    return s_Total;&lt;br /&gt;
}&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    cout &amp;lt;&amp;lt; MyClass::s_Total &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
    MyClass myObject1, myObject2, myObject3;&lt;br /&gt;
    cout &amp;lt;&amp;lt; MyClass::GetTotal() &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Update static field in member method==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class SomeClass &lt;br /&gt;
{&lt;br /&gt;
  public:  &lt;br /&gt;
    SomeClass(int value) { some_value = value; };&lt;br /&gt;
    void show_data(void) { cout &amp;lt;&amp;lt; data &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; some_value &amp;lt;&amp;lt; endl; };&lt;br /&gt;
    static void set_data(int value) { data = value; };&lt;br /&gt;
  private:&lt;br /&gt;
    static int data;&lt;br /&gt;
    int some_value;&lt;br /&gt;
};&lt;br /&gt;
int SomeClass::data;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   SomeClass my_class(1001);&lt;br /&gt;
   my_class.set_data(5005);&lt;br /&gt;
   my_class.show_data();&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using a static data member in a class==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;  &lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
   using namespace std;&lt;br /&gt;
   class CBox                   &lt;br /&gt;
   {&lt;br /&gt;
      public:&lt;br /&gt;
         static int objectCount;&lt;br /&gt;
         CBox(double lv, double bv = 1.0, double hv = 1.0): m_Length(lv),&lt;br /&gt;
                                                            m_Breadth(bv),&lt;br /&gt;
                                                            m_Height(hv)&lt;br /&gt;
         {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Constructor called.&amp;quot;;&lt;br /&gt;
            objectCount++;&lt;br /&gt;
         }&lt;br /&gt;
         CBox()&lt;br /&gt;
         {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Default constructor called.&amp;quot;;&lt;br /&gt;
            m_Length = m_Breadth = m_Height = 1.0;&lt;br /&gt;
            objectCount++;&lt;br /&gt;
         }&lt;br /&gt;
         double Volume() const&lt;br /&gt;
         {&lt;br /&gt;
            return m_Length*m_Breadth*m_Height;&lt;br /&gt;
         }&lt;br /&gt;
      private:&lt;br /&gt;
         double m_Length;&lt;br /&gt;
         double m_Breadth;&lt;br /&gt;
         double m_Height; &lt;br /&gt;
   };&lt;br /&gt;
   int CBox::objectCount = 0;&lt;br /&gt;
                             &lt;br /&gt;
   int main()&lt;br /&gt;
   {&lt;br /&gt;
      CBox boxes[5];         &lt;br /&gt;
      CBox cigar(8.0, 5.0, 1.0);&lt;br /&gt;
      cout &amp;lt;&amp;lt; CBox::objectCount;&lt;br /&gt;
      cout &amp;lt;&amp;lt; boxes[2].objectCount;&lt;br /&gt;
      return 0;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>