15) Правила, определяющие видимость переменных в функциях.
Видимость переменных и функций в программе определяется следующими правилами.
1. Переменная, объявленная или определенная глобально, видима от точки объявления или определения до конца исходного файла. Можно сделать переменную видимой и в других исходных файлах, для чего в этих файлах следует ее объявить с классом памяти extern.
2. Переменная, объявленная или определенная локально, видима от точки объявления или определения до конца текущего блока. Такая переменная называется локальной.
3. Переменные из объемлющих блоков, включая переменные объявленные на глобальном уровне, видимы во внутренних блоках. Эту видимость называют вложенной. Если переменная, объявленная внутри блока, имеет то же имя, что и переменная, объявленная в объемлющем блоке, то это разные переменные, и переменная из объемлющего блока во внутреннем блоке будет невидимой.
4. Функции с классом памяти static видимы только в исходном файле, в котором они определены. Всякие другие функции видимы во всей программе.
- 5)Указатели и ссылки.
- 12) Параметры структурных типов.
- 13) Классы памяти переменных.
- 14) Параметры-функции.
- 15) Правила, определяющие видимость переменных в функциях.
- 16) Пространства имен.
- Int Pages;
- Int getPages(); // тело будет описано в book.Сpp
- 18) Перегрузка функций.
- 19) Функции с параметрами по умолчанию.
- 20) Текстовые файлы. Отличие от Delphi Pascal.
- Int fscanf(file *stream,const char *format[,adress,...]);
- Int fprintf(file *stream,const char *format[,argument,...]);
- 21) Двоичные файлы. Отличие от Delphi Pascal.
- 22) Определение класса, компоненты класса. Ограничение доступа.
- 23) Инициализация полей при отсутствии конструктора.
- 24) Конструкторы. Инициализация полей при наличии конструктора.
- 25) Деструкторы.
- 27) Простое и множественное наследование классов.
- 28) Наследование. Ограничение доступа при наследовании.
- 29) Конструкторы и деструкторы производных классов.
- 30) Композиция.
- 31)Наполнение
- 32) Полиморфное наследование. Простой полиморфизм.
- 33) Полиморфное наследование. Сложный полиморфизм.
- 34) Статические компоненты классов.
- 35) Особенности работы с динамическими объектами.
- 36) Объекты с динамическими полями. Копирующий конструктор.
- Void Print(tPoint r) {…}
- 37) Дружественные функции, методы и классы.
- 38) Переопределение операций.
- 39) Шаблоны классов.
- 40) Шаблоны функций.
- 46) Сигналы, слоты и события Qt.