Как происходит наследование пользовательского конструктора? Здравствуйте! У меня есть базовый класс и его конструктор:class dom { public: dom(int h, string name); string n_Name; int height; private: }; dom::dom(int h, string name) { n_Name = name; height = h; cout << "Constructor 1 in work" << endl; }; Я создаю производный класс, и вот здесь есть недопонимание, которое не устраняется в контексте чтения книги Доусона.class skyskr : public dom { public: int kol_lud; void st(int h); skyskr();???? }; Какой конструктор я должен определить для производного класса? Я знаю, что конструкторы не наследуются - это значит, что переменные базового класса унаследуются, но будут пустыми? Поэкспериментировал по-разному: и определял аргументы производного класса, как у конструктора базового, и пробовал написать новые - студия ругается.
При наследовании конструкторы базового класса не являются частью производного класса, поэтому вам нужно определить конструктор для производного класса skyskr. Вы можете вызвать конструктор базового класса в списке инициализации конструктора производного класса, передавая необходимые аргументы:
skyskr::skyskr() : dom(0, "default"), kol_lud(0) { // код инициализации для производного класса }
В этом примере мы вызываем конструктор dom с параметрами 0 и "default" в списке инициализации конструктора skyskr. Таким образом, переменные height и n_Name базового класса будут инициализированы при создании объекта производного класса skyskr.
При наследовании конструкторы базового класса не являются частью производного класса, поэтому вам нужно определить конструктор для производного класса skyskr. Вы можете вызвать конструктор базового класса в списке инициализации конструктора производного класса, передавая необходимые аргументы:
skyskr::skyskr() : dom(0, "default"), kol_lud(0)
{
// код инициализации для производного класса
}
В этом примере мы вызываем конструктор dom с параметрами 0 и "default" в списке инициализации конструктора skyskr. Таким образом, переменные height и n_Name базового класса будут инициализированы при создании объекта производного класса skyskr.