Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мини конспект по ООП.doc
Скачиваний:
34
Добавлен:
25.03.2015
Размер:
241.66 Кб
Скачать

7. Понятие inline-метода. Способы создания?

Метод является встроенным (inline), если его тело определено внутри класса.

Тело inline-метода (inline-функции) подставляется в каждую точку вызова, вместо того, чтобы генерировать код вызова. Как правило, встроенными делают короткие методы. Большие методы реализуются обычным способом.

Есть два способа создания inline-метода:

– с использованием директивы inline;

– включением кода метода внутри объявления класса.

С помощью директивы inline(как и для обычных функций, директива имеет рекомендательный характер) методы можно определять как встроенные и вне класса.

Общий вид объявления inline-метода:

inline объявление_метода

Модификатор inline предшествует всем частям объявления функции.

Например:

inline int monstr::get_ammo()

{return ammo;}

inline не является командой. Технически inline– это запрос к компилятору сгенерировать подставляемый код.

8. Описание объектов в C++ ? Формы создания объектов класса?

Конкретные представители класса называютсяобъектамиили экземплярами класса.

В C++ объектэто переменная типа class.

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

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

Создание новых объектов называется порождением класса.

Порождение класса может рассматриваться как разновидность объявления переменных. Различие между этими понятиями отчасти маскируется тем, что в языках с контролем типов данных (например, С++) определение, порождающее переменную, выглядит так же, как и чистое объявление.

Общая форма создания объекта:

имя_классаобъект;

Объекты могут быть созданы в следующих формах:

глобальные объекты– создаются в начале выполняемой программы и разрушаются при ее завершении;

локальные (автоматические) объекты– создаются, когда объекты объявляются как некоторые локальные переменные в блоке (например, в функции) и разрушаются, когда блок программы, в котором они были объявлены, разрушается или удаляется из памяти;

статические объекты– создаются один раз при запуске программы, к которой они относятся, и разрушаются тоже один раз при завершении выполнения программы;

объекты в динамически выделяемой области памяти – создаются при выделении памяти и разрушаются при освобождении памяти;

объекты-компоненты классов– создаются при построении объекта класса, в котором они описаны, и разрушаются при разрушении объекта класса, в котором они описаны;

объекты-элементы массивов– создаются при создании массива объектов одного типа.