
03 семестр / К экзамену-зачёту / Ответы на билеты / билет17
.doc
2)Дестру́ктор — специальный метод класса, служащий для деинициализации объекта (например освобождения памяти).
Деструктор в С++
class NameOfClass { public: NameOfClass(int m); ~NameOfClass(); int a; }; NameOfClass::~NameOfClass() { cout << a << "\n";} NameOfClass::NameOfClass(int m) { a = m; }
~NameOfClass() - деструктор, имеет имя ~NameOfClass, не имеет входных параметров. В данном случае при уничтожении объекта выводит в консоль параметр a.
3) Интерфе́йс (от лат. inter — между и лат. face — поверхность) — это семантическая и синтаксическая конструкция в коде программы, используемая для специфицирования услуг, предоставляемых классом или компонентом.
Интерфейс определяет границу взаимодействия между классами или компонентами, специфицируя определенную абстракцию, которую осуществляет реализующая сторона. В отличие от большинства других видов интерфейсов, интерфейс в ООП является строго формализованным элементом объектно-ориентированного языка и, в качестве семантической конструкции, широко используется кодом программы. К примеру, интерфейс «Cloneable» может описать абстракцию клонирования (создания точных копий) объектов, специфицировав метод «Clone». Тогда любой класс, способный создать свою копию, может задекларировать себя как Cloneable и предоставить метод Clone. Причем вызывающей стороне достаточно знать только описание интерфейса. Таким образом, интерфейсы позволяют рассоединить части программной системы в модули без взаимной зависимости кода.
С одной стороны, интерфейс — это контракт, который обязуется выполнить класс, реализующий его. Один класс может реализовать несколько интерфейсов одновременно. С другой стороны, интерфейс — это тип данных, потому что его описание достаточно четко определяет свойства объектов, чтобы наравне с классом типизировать переменные.
Интерфейсы в C++
Роль интерфейсов в C++ выполняют абстрактные классы.