13.1.2. Функции-члены
Пользователям, по-видимому, понадобится широкий набор операций над объектами типа Screen: возможность перемещать курсор, проверять и устанавливать области экрана и рассчитывать его реальные размеры во время выполнения, а также копировать один объект в другой. Все эти операции можно реализовать с помощью функций-членов.
Функции-члены класса объявляются в его теле. Это объявление выглядит точно так же, как объявление функции в области видимости пространства имен. (Напомним, что глобальная область видимости – это тоже область видимости пространства имен. Глобальные функции рассматривались в разделе 8.2, а пространства имен – в разделе 8.5.)
Определение функции-члена также можно поместить внутрь тела класса:
class Screen {
public:
// определения функций home() и get()
void home() { _cursor = 0; }
char get() { return _screen[_cursor]; }
// ...
};
home() перемещает курсор в левый верхний угол экрана; get() возвращает символ, находящийся в текущей позиции курсора.
Функции-члены отличаются от обычных функций следующим:
функция-член объявлена в области видимости своего класса, следовательно, ее имя не видно за пределами этой области. К функции-члену можно обратиться с помощью одного из операторов доступа к членам – точки (.) или стрелки (->):
ptrScreen->home();
myScreen.home();
(в разделе 13.9 область видимости класса обсуждается более детально);
функции-члены имеют право доступа как к открытым, так и к закрытым членам класса, тогда как обычным функциям доступны лишь открытые. Конечно, функции-члены одного класса, как правило, не имеют доступа к данным-членам другого класса.
Функция-член может быть перегруженной (перегруженные функции рассматриваются в главе 9). Однако она способна перегружать лишь другую функцию-член своего класса. По отношению к функциям, объявленным в других классах или пространствах имен, функция-член находится в отдельной области видимости и, следовательно, не может перегружать их. Например, объявление get(int, int) перегружает лишь get() из того же класса Screen:
class Screen {
public:
// объявления перегруженных функций-членов get()
char get() { return _screen[_cursor]; }
char get( int, int );
// ...
};
(Подробнее мы остановимся на функциях-членах класса в разделе 13.3.)
- 11. Базы данных, определение, типы бд. Понятие домена, атрибута,
- 32. История создания эвм. Поколения и классы эвм. Структура
- 46. Общая характеристика операционной системы Linux. Основные
- 67. Понятие нормальной формы отношений. Условия нахождения бд
- 1.3D моделирование в компьютерной графике
- 2. Case-средства. Работа с case-средством Erwin. Логическая и
- 4. Алгоритм декомпозиции отношения с целью его нормализации.
- 7. Архивирование данных. Преимущества и недостатки современных
- 12. Баухауз и его вклад в развитие мирового дизайна.
- 13. Бизнес - цели и жизненный цикл изделия
- 15. Василий Кандинский – теория цвета. Психология цвета.
- 16. Векторная и растровая графика, основные понятия, области
- 18. Виды обеспечения систем компьютерной графики.
- 21. Единый формат векторной графики.
- Пример использования tadoConnection
- Пример использования параметров запроса
- Синхронизация данных клиента и сервера.
- Работа с транзакциями
- Пример работы с транзакциями
- Доступ к данным
- Пример работы с отложенными изменениями.
- Cals-идеология
- Cals-технологии
- Cals-системы
- Плюсы и минусы
- 28. Использование векторной и растровой графики в web.
- 30. Использование международных стандартов.
- 34. Конструктивизм в художественном дизайне.
- 35. Кривая Безье, ее построение и редактирование.
- 13.1. Определение класса
- 13.1.1. Данные-члены
- 13.1.2. Функции-члены
- 13.1.5. Объявление и определение класса
- 13.2. Объекты классов
- 13.4. Неявный указатель this
- 13.4.1. Когда использовать указатель this
- 38. Мастера модерна. А. Ванде Вельде, ч. Р. Макинтош.
- 43. Обеспечение информационной безопасности.
- 44. Области применения компьютерной графики.
- 48. Оптические устройства хранения информации. Виды и основные
- 50. Основные принципы cals.
- 52. Основные структурные элементы эвм (материнские платы,
- Основные характеристики шрифтов
- Художественный облик шрифтов
- 55. Основы композиции в промышленном дизайне. Категории
- Оператор break
- Оператор return
- 60. П. Беренс – первый промышленный дизайнер.
- 61. Параллельное и последовательное моделирование
- 62. Параметризация в компьютерной графике.
- 63. Первые теории дизайна Дж. Рескин, г. Земпер, ф. Рело.
- 65. Понятие ключа, первичного ключа, индекса.
- Первая нормальная форма (1nf)
- Вторая нормальная форма (2nf)
- Третья нормальная форма (3nf)
- Методы решения
- Процедура принятия решений
- 4. Отчеты - позволяют обобщать и распечатывать информацию. Создание базы данных
- Создание формы
- Вызовы sql в pl/sql-ном блоке
- Вызовы sql в pl/sql-ном блоке
- См. Вопрос 122 fat32. Чем она лучше fat16?
- Оттенки фиолетового
- Оттенки синего
- Оттенки зеленого
- Оттенки желтого
- Цветовая гармония
- Восприятие цвета
- Различие между цветами Различные источники света
- Различная ориентация
- Различия в восприятии размера