База Hintsage

C++ Core

Синтаксис, типы, функции, классы и базовая семантика C++.

Практика

Вопросы: C++ Core

В производном классе используют конструктор базового класса через using. Определите, как будут инициализированы базовая часть и собственное поле объекта:

#include <cassert>

struct Base {
    explicit Base(int value) : value(value) {}
    int value;
};

struct Derived : Base {
    using Base::Base;
    int status = 42;
};

int main() {
    Derived object(7);
    assert(object.value == 7);
    assert(object.status == 42);
}

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

Программирование C++C++ CoreC++-разработчик библиотек

Показано 120 из 50