сорри за краткость в предыдущем посте, был занят ))
глобальная переменная: экземпляр некоего класса A, единый по всемй программе. Например
int I; //глобальная переменная
void main()
{
}
откуда бы ни обращались к I , это будет всегда один и тот же экземпляр
статическая переменная и функция в классе
class A
{
static I;
static int F()
{
}
};
//для вызова функции F создание экземпляра класса необязательно:
int i = A::F();
A a;
i=a.F();
переменная I имеет один единственный экземпляр для ВСЕХ экземпляров класса A. То есть, I даже не входит в состав экземпляров класса A , но имеет область видимости только в нём (хотя доступ можно получить извне через :: или точку)