Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Rabochy_stol / 20функции члены тип статик

.docx
Скачиваний:
15
Добавлен:
31.05.2015
Размер:
15.55 Кб
Скачать

20 Функции-члены типа static и const

C++ позволяет использовать функции-члены типа static и const. Синтаксически статическая функция-член содержит модификатор static, предшествующий возвращаемому типу функции внутри объявления класса. Определение вне класса не должно включать этот модификатор:

Синтаксически, функция-член типа const вводится модификатором const, следующим за списком аргументов внутри объявления класса. Определение вне класса также должно включать этот модификатор:

Обычная функция-член может и читать, и изменять члены данных объекта.

Константная функция-член может читать, но не может изменять члены данных объекта. То есть такая функция не изменяет состояние объекта.

Статической функции-члену недоступны члены данных объекта, но дос-тупны статические члены класса.

Константную функцию-член можно вызвать как для константного, так и для неконстантного объекта, в то время как неконстантную функцию-член можно вызвать только для объекта, не являющегося константой. Например:

Эффективные типы, определяемые пользователем

Для типа, определяемого пользователем, характерен набор операций:

  1. Конструктор, определяющий, как должны быть проинициализированы объекты данного типа.

  2. Набор функций доступа (функций-селекторов). Эти функции имеют модификатор const, который указывает, что они не должны изменять состояние объектов, для которых они вызваны.

  3. Набор функций-модификаторов. При их использовании не возникает необходимости разбираться в деталях представления или долго думать о смысле того или иного члена данных.

  4. Кроме того, у класса может быть набор функций, связанных с ним, но не требующих определения в классе, потому что они не нуждаются в непосредственном доступе к представлению.

  5. Перегруженные операторы – функции, обеспечивающие привычную (удобную) форму записи.