Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы для экзамена по курсу ООП.doc
Скачиваний:
4
Добавлен:
21.04.2019
Размер:
180.22 Кб
Скачать
  1. Использование имен на различных стадиях создания программ.(спросить)

  2. Структура программы на языке C++.

Программа на языке C++ состоит из функций, описаний и директив препроцессора. Одна из функций должна иметь имя main. Выполнение программы начинается с первого оператора этой функции. Простейшее определение функции имеет следующий формат:

тип_возвращаемого_значения имя ([ параметры ] ){

операторы, составляющие тело функции

}

  1. Объекты, их типы и классы памяти.

Конкретные переменные типа «класс» называются экземплярами класса, или объектами. Объект – размещенный в оперативной памяти экземпляр данного типа. Все объекты в динамической памяти безымянны.

Время жизни и видимость объектов зависит от вида и места их описания и подчиняется общим правилам С++:

monstr Vasia: // Объект класса monstr с параметрами по умолчанию

monstr Super(200. 300): // Объект с явной инициализацией

monstr stado[100]: // Массив объектов с параметрами по умолчанию

monstr *beavis = new monstr (10): // Динамический объект

//(второй параметр задается по умолчанию)

monstr &butthead = Vasia: // Ссылка на объект

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

int n = Vasid.get_ammo();

stado[5].draw;

cout « beavis->get_health();

Обратиться таким образом можно только к элементам со спецификаторам рublic. Получить или изменить значения элементов со спецификатором private можно только через обращение к соответствующим методам (Спецификаторы доступа private и рubliс управляют видимостью элементов класса. Элементы, описанные после служебного слова private, видимы только внутри

класса. Интерфейс класса описывается после спецификатора public. Действие любого спецификатора распространяется до следующего спецификатора или до конца класса.)

Можно создать константный объект, значения полей которого изменять запрещается.

К нему должны применяться только константные методы:

class monstr{

int get_health() const {return health;}

}:

const monstr Dead(Q,0); // Константный объект

cout « Dead.get_health();

Константный метод:

• объявляется с ключевым словом const после списка параметров;

а не может изменять значения полей класса;

• может вызывать только константные методы;

• может вызываться для любых (не только константных) объектов.

Рекомендуется описывать как константные те методы, которые предназначены

для получения значений полей.

  1. Имена типов данных. (спросить)

Имена типов данных - это объявление объектов такого типа, в котором опущено имя самого такого объекта.

С типом связаны: формат размещения в памяти и набор допустимых операций.