Шаг 13 - Область видимости

Я тут посмотрел MSDN, все так отрывочно и не логично написано.
Там кусочек там кусочек.
Вообщем я попробую всё это обобщить.

Итак, разбираем самый простой пример пустой CPP файл. Белый и пустой как лист бумаги. Что это такое ??? Это область, в которую можно помещать разные элементы. Какие бывают элементы ??? Их всего два типа:

Весь CPP файл это область определения и релизации. То есть здесь мы можем как определять элементы, так и реализовывать их.

Что можно определять и объвлять. Давайте тоже для простоты сократим список и составим главное

Переменные и функции очень похожи вот главные сходства:

Но есть главное отличие. Функции порождают новую подчинёную область реализации и определений, на которую влияет всё более высокие области. Давайте введем функцию main, которая есть в каждой программе.

13.gif (1765 b)

Как видите из рисунка у нас теперь две области. Одна светло серая область CPP и темнее область main. Область функции main является подчиненной областью к области CPP и поэтому область main имеет доступ ко всему, что находится в области CPP и выше её реализации. Правило такое. Из области реалиции и определения есть доступ ко всему, что находится в более высокой области и Выше её !!!. Выше важно. Проверим ??? Вот код.

int i;

void main()
{
	i=5;
}

Этот код компилируется без ошибок. Переменная i определена в более старшей области и выше.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 20.04.2000