Язык С++ и программирование на нем. Рейзлин В.И. - 48 стр.

UptoLike

Составители: 

50
явления и до конца файла, где встретилось их объявление. Примером
таких имён являются имена функций.
#include <iostream.h>
int a, b, c[40]; // Глобальные имена;
int f1() // локальное имя f1;
{int i; // локальное имя;
}
int count; // глобальное имя;
void f2() { … } // глобальное имя f2.
Область существования КЛАСС.
Такую область существования имеют имена, объявленные в клас-
сах (см. раздел 18). Эти имена определены во всем классе, в котором
они объявлены, независимо от точки их объявления.
10. Область видимости
Если, используя имя, можно получить доступ к элементу, с кото-
рым это имя сопоставлено, то говорят, что данное имя находится в об-
ласти своей видимости.
Область видимости является подобластью области существования
имени. Если элемент языка, чьё имя находится в области своего сущест-
вования, тем не менее, недоступен по этому имени, то будем говорить,
что это имя скрыто или замаскировано.
Глобальные имена видимы от точки их объявления до конца фай-
ла, если они не замаскированы локальными именами.
Переменные из объемлющих блоков, как и глобальные, видимы
во внутренних блоках.
Если переменная, объявленная внутри блока, имеет то же имя, что
и переменная объемлющего уровня, то имя объемлющего уровня мас-
кируется, и определение переменной в блоке заменяет определение объ-
емлющего уровня на протяжении всего блока. Видимость замаскиро-
ванной переменной восстанавливается при выходе из блока. Метки в
функции видимы во всём теле функции.
int i=3;
{ int c = i; // с становится = =3;
int i = 0; // имя i маскирует внешнее имя i;
cout <<”c = ”<< c <<”, i= ”<< i <<”.\n”;