Главная страница
Навигация по странице:

  • Контрольные вопросы 2

  • 2.Можно ли использовать конструктор производного класса без передачи параметров конструктору базового класса

  • Контрольные вопросы 3

  • 2.Какое поле объекта производного класса выдает метод vivoda

  • Контрольные вопросы 4 1.Почему во втором объекте значение массива X равно ffff

  • 3.В каком месте возникнет ошибка в случае если величина с1 будет иметь параметр private

  • Контрольные вопросы 5 1. Можно ли обращаться в объекте порожденного классе к элементам базового класса через указатели на объекты порожденного класса

  • Задание №3 ООП. Программа продолжает выполняться корректно. Контрольные вопросы 2


    Скачать 485.02 Kb.
    НазваниеПрограмма продолжает выполняться корректно. Контрольные вопросы 2
    Дата05.11.2021
    Размер485.02 Kb.
    Формат файлаdocx
    Имя файлаЗадание №3 ООП.docx
    ТипПрограмма
    #263561

    Контрольные вопросы 1


    1.Почему выполняется вызов деструкторов?

    Для освобождения памяти.

    2.Измените фрагмент программы таким образом, чтобы сообщение от деструкторов выдавалось бы 2 раза.

    Код:



    Пример выполнения:



    Изменение модификаторов:



    Программа продолжает выполняться корректно.

    Контрольные вопросы 2

    1.Добавьте новое поле любого типа в базовый класс и выполните инициализацию объекта производного класса с использованием конструктора.

    Код:




    Выполнение:




    2.Можно ли использовать конструктор производного класса без передачи параметров конструктору базового класса?

    Нет, компилятор выдаст ошибку.



    3.Если ответ на второй отрицательный, что надо сделать, чтобы при инициализации объекта производного класса с использованием конструктора производного класса инициализация наследуемой части не выполнялась бы.

    Программа будет выполняться, если будет определен конструктор без параметров базового класса:



    Изменение модификаторов:



    При изменении модификаторов – компилятор выдаст ошибку доступа к члена класса a вне производного, за исключением производных от производных (если protected).
    Контрольные вопросы 3

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

    Задание данных базового класса происходит следующим образом:



    2.Какое поле объекта производного класса выдает метод vivoda?

    Поле базового класса – a1.
    3.Какая информация будет выдана, при отсутствии записи a::vivoda()


    Нет доступа

    Изменение модификаторов:

    При изменении на public, возможно обращении к vivoda без открытия доступа из любого места через производный класс:



    При изменении на protected – только из производных производных.

    Контрольные вопросы 4


    1.Почему во втором объекте значение массива X равно ffff?

    Происходит явная передача значения “ffff” в конструктор базового при вызове производного.

    2.Запишите в массив x слово «собака»

    Код:



    Выполнение:




    3.В каком месте возникнет ошибка в случае если величина с1 будет иметь параметр private?

    При обращении к c1 вне класса c:



    Изменение модификаторов:

    Изменение

    class c:private b никак не повлияют на данную программу, но после подобного изменения будет невозможно обратиться к членам b через объект класса c.

    При изменении на class b:protected a также не будет изменений, но после изменений невозможно будет обратиться к членам a из вне (кроме класса c, т.к. он является наследуемым от b).

    При изменении b:private a обращение в членам a через b невозможно и будет выдана ошибка при попытки обращения к ним через c:



    Контрольные вопросы 5


    1. Можно ли обращаться в объекте порожденного классе к элементам базового класса через указатели на объекты порожденного класса?

    Если элементы являются открытыми, то возможно, в противном случае будет ошибка доступа:



    Изменение модификаторов:

    При изменении наследования на protected или private, станет невозможно присвоение указателю ссылки на объект:



    написать администратору сайта