Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_voprosy.docx
Скачиваний:
4
Добавлен:
15.04.2019
Размер:
75.36 Кб
Скачать

4. Уровни доступа к элементам класса.

Ключевое слово public означает общий доступ к переменным и функциям класса. Уровень доступа private указывает на частный способ доступа к элементам класса и устанавливается по умолчанию при описании класса. Частный уровень доступа дает возможность обращаться к переменным и функциям только внутри класса и запрещает извне, например, через представители или указатели на класс.

Режим доступа protected также как и private запрещает доступ к элементам класса через представители и указатели, но разрешает обращаться к ним из дочерних классов при наследовании.

5. Область видимости объектов, скрытие имен.

Видимость переменных и функций в программе определяется следующими правилами.

1. Переменная, объявленная или определенная глобально, видима от точки объявления или определения до конца исходного файла. Можно сделать переменную видимой и в других исходных файлах, для чего в этих файлах следует ее объявить с классом памяти extern.

2. Переменная, объявленная или определенная локально, видима от точки объявления или определения до конца текущего блока. Такая переменная называется локальной.

3. Переменные из объемлющих блоков, включая переменные объявленные на глобальном уровне, видимы во внутренних блоках. Эту видимость называют вложенной. Если переменная, объявленная внутри блока, имеет то же имя, что и переменная, объявленная в объемлющем блоке, то это разные переменные, и переменная из объемлющего блока во внутреннем блоке будет невидимой.

4. Функции с классом памяти static видимы только в исходном файле, в котором они определены. Всякие другие функции видимы во всей программе.

Метки в функциях видимы на протяжении всей функции.

Имена формальных параметров, объявленные в списке параметров прототипа функции, видимы только от точки объявления параметра до конца объявления функции.

Описание определяет имя в области видимости. Таким образом, имя может применяться только в некоторой части программы. Для имени, которое описано в функции (такое имя часто называют локальным), эта область видимости располагается от точки описания до конца блока, в котором появилось описание. Для имени не в функции и не в классе (называемого часто глобальным именем) область видимости находится от точки описания до конца файла, в котором появилось описание. Описание имени в блоке может прятать описание во внутреннем блоке или глобальное имя, т. е. можно переопределять имя внутри блока с целью ссылки на другой объект. После выхода из блока имя опять получает свое прежнее значение.

6. Динамическая память, функции работы с памятью.

В языке программирования Си имеются следующие четыре функции для динамического распределения памяти, входящие в стандартную библиотеку:

malloc (от англ. memory allocation, выделение памяти),

calloc (от англ. clear allocation, чистое выделение памяти)

realloc (от англ. reallocation, перераспределение памяти).

free. (англ. free, освободить)

Эти функции имеют следующие описания:

#include <stdlib.h>

void *malloc (size_t size);

void *calloc (size_t num, size_t size);

void *realloc(void *block, size_t size);

void *free(void *block);

В С++ имеются два оператора:

new delete. ( int n=100; float *p= new float [n])

Функции заполнения памяти: memcpy или memmove

Для того, чтобы выставить дополнительное ограничение по копированию (например, до первого вхождения байта c), используйте функцию memccpy. Если вы хотите заполнить все байты данной области памяти одинаково, используйте memset.

Для сравнения двух областей памяти используется функция memcmp.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]