Зачем в абстрактном базовом классе создавать конструктор? Здравствуйте!
В литературе что я читаю автор в АБК создает конструктор:class ABC{
public:
ABC(tralala &, trololo);
....
};
Производный класс:class Test : public ABC{
public:
Test(trololo, tututu &):ABC(tututu &, trololo);
};
Вопрос: зачем создавать явный конструктор для АБК, если его объект создать нельзя (при наличии чистой виртуальной функции конечно) и вопрос второй: что за странный вызов конструктора АБК в конструкторе производного класса? Спасибо

21 Авг 2019 в 07:00
182 +1
0
Ответы
1

Здравствуйте!

Создание конструктора в абстрактном базовом классе (АБК) имеет несколько целей:

Инициализация данных: конструктор может инициализировать данные, которые используются как в самом абстрактном классе, так и в его производных классах.

Инициализация членов класса: конструктор может также инициализировать члены класса, которые необходимо установить при создании объекта класса.

Упрощение кода: создание конструктора в базовом классе может упростить код в производных классах, поскольку необходимо будет вызвать конструктор базового класса в конструкторе производного класса.

Относительно странного вызова конструктора базового класса в конструкторе производного класса следует учитывать, что конструкторы производных классов должны вызывать конструкторы своего базового класса, чтобы правильно инициализировать его члены. В данном случае вызов конструктора базового класса в конструкторе производного класса Test выглядит корректным и обычным способом инициализации базового класса.

Надеюсь, это поможет вам понять цель создания конструктора в абстрактном базовом классе и вызов конструктора базового класса в конструкторе производного класса. Если у вас есть еще вопросы, не стесняйтесь задавать. Спасибо!

20 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 134 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир