>Цели:
изучить работу со статическими и константными членами класса.
1. Краткие теоретические сведения
Статические члены класса
Каждый объект одного и того же класса имеет собственную копию данных класса. Но существуют задачи, когда данные должны быть компонентами класса, и иметь их нужно только в единственном числе. Такие компоненты должны быть определены в классе как статические (static). Статические данные классов не дублируются при создании объектов, т.е. каждый статический компонент существует в единственном экземпляре.
2. Практическое задание (100%)
Для задания практической работы 6 «Перегрузка операций» выполнить доработку программы в соответствии с заданиями:
ЗАДАНИЕ 1. Статические члены-данные класса
1. Добавить статическое поле int сount, выступающее в роли счетчика объектов класса.
2. Деструктор класса должен уменьшать на единицу значение счетчика.
3. Добавить статический метод int getCount() возвращающий значение счетчика.
4. Продемонстрировать изменение значения статического поля.
ЗАДАНИЕ 2. Константные методы и объекты
1. Определить какие методы являются константными, определить константные параметры и константные возвращаемые значения методов.
2. Добавить константное поле, хранящее идентификатор объекта (номер созданного объекта), предусмотреть методы вывода информации о идентификаторе.
3. Описать и инициализировать обычные и константные объекты.
4. Выполнить вызовы обычных и константных методов для каждого вида объектов.
5. Провести тестирование программы: Откомпилировать программу. Имеются ли ошибки компиляции и какие? Если имеются, то закомментировать соответствующие строки кода и вновь провести компиляцию. Какие предупреждения выдает компилятор и в чем их смысл? Как их можно объяснить с позиции обеспечения надежности программы?
4. Контрольные вопросы
1. Константный метод, вызываемый для объекта класса
а) может изменить как константные, так и неконстантные поля
б) может изменить только неконстантные поля
в) может изменять только константные поля
г) не может изменять никакие поля
2. Для чего нужно объявление поля класса со словом mutable
3. Какие свойства приобретает поле данных класса, объявленное как static
4. В чем состоит преимущество определения конструктора со списком инициализации элементов?
5. Какие свойства приобретает элемент-функция класса, если она объявлена как статическая
6. Что такое указатель this?
Прикрепленные файлы: |
|
|---|---|
|
Администрация сайта не рекомендует использовать бесплатные работы для сдачи преподавателю. Эти работы могут не пройти проверку на уникальность. Узнайте стоимость уникальной работы, заполните форму ниже: Узнать стоимость |
|
Скачать файлы: |
|
|
|
