Complete listing of Variables02.cpp, Listing 2

/*File:  Variables02.cpp
This C++ program illustrates the use of a static
class variable.

The program defines a class named Variables02,
which declares a public static variable named 
aStaticVariable.

The code in the main method accesses the class
variable three times in succession with no
requirement to instantiate an object of the
class.  The first access displays the initial
value of the variable.  The second access
modifies the value of the variable.  The third
access displays the modified value.

Note that in C++, static class variables cannot
be initialized inside the class.  A global
initializer is used to initialize the class
variable in this program.  You are required to 
initialize static class variables or they will 
not be in scope and will not be accessible.  The
required initialization syntax is:

type class_name::static_variable = value

Note that you must include the type of the static
variable when you initialize it.

The program displays the following output:

0
6
Press any key to continue

A good explanation of the use of static class
members in C++ is available at:

http://www.cprogramming.com/tutorial/
statickeyword.html

************************************************/

#include <iostream>
using namespace std;

class Variables02{
  public:
  //Declare a public static class variable.  See
  // initialization below.
  static int aStaticVariable;
};//End Variables02 class
//---------------------------------------------//

int main(){
  //Access the static class variable without a
  // requirement to instantiate an object of
  // the Variables02 class.
  cout << Variables02::aStaticVariable << endl;
  Variables02::aStaticVariable = 6;
  cout << Variables02::aStaticVariable << endl;
  return 0;
}//end main

//Must initialize the static variable outside
// the class.  It is not in scope and cannot be
// accessed until it is initialized.  You must
// specify the type of the variable when you
// initialize it.
int Variables02::aStaticVariable = 0;

Listing 2