Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИСП, КР1 (Object Pascal)

.docx
Скачиваний:
8
Добавлен:
01.04.2014
Размер:
17.2 Кб
Скачать

ТЕСТ №1. ООП НА ЯЗЫКЕ OBJECT PASCAL

  1. Может ли класс содержать несколько конструкторов?

Может.

  1. RTTI существует у всех классов или только у тех классов, которые имеют виртуальные методы?

У всех классов.

  1. Если экземплярный метод не работает с полями объекта, передается ли в метод параметр self?

Передается во все методы.

  1. В классе объявлено два поля типа byte, три свойства типа byte и два метода. Сколько байт в динамической памяти будут занимать объект класса?

InstanceSize объекта такого класса равен 8.

  1. Можно ли в качестве параметра конструктора класса TC передать объект класса TC?

Можно.

  1. Может ли класс содержать несколько свойств-массивов?

Может.

  1. Указатель на VMT размещается в динамической памяти перед полями объекта или после полей?

Перед полями объекта.

  1. Может ли тип индекса свойства-массива быть классом?

Да.

  1. Можно ли объявить конструктор в секции protected?

Да.

  1. Можно ли объявить свойство в секции private?

Да.

  1. Можно ли перекрыть виртуальный метод, изменив его имя?

Нет.

  1. Можно ли, используя переменную типа метакласс, получить доступ к полям объекта?

Такой возможности нет, значением переменной типа метакласс фактически является указатель на VMT соответствующего класса.

  1. При вызове деструктора используется имя класса или имя объекта?

Используется имя объекта, например:

Man := TPerson.Create;

Man.Destroy;

  1. Зависит ли размер переменной типа «указатель на метод» от количества параметров метода?

Нет, она занимает в памяти 8 байт и хранит одновременно ссылку на объект и адрес его метода.

Соседние файлы в предмете Программирование