29. C++ Вызов конструктора базового класса из класса – наследника

Вызов конструктора базового класса из класса – наследника

Как говорилось ранее при создании класса наследника сначала вызывается конструктор базового класса и лишь потом после создания базового класса вызывается конструктор класса наследника, ранее мы использовали конструктор без параметров (конструктор по умолчанию) для базового класса, но мы можем вызывать и произвольный конструктор

Для этого в базовом классе мы должны создать какой-либо конструктор, например для класса Person:

Person(string Name)
   {
       this->Name=Name;
       this->age= new unsigned int (18); //создание переменной в динамической памяти
   }

А в классе наследнике написать:

public:
    student(string Name, uint course) : Person(Name)
    {
        this->course=course;
    }

Теперь в конструктор класса наследника мы передаем 2 поля Имя и курс, и поле Имя передаем к конструктор класса Person.

Теперь при вызове:

student c_Student("Oleg",1);
        PrintInfo(&c_Student);

мы получим данные Имя 18лет и 1 курс.
За счет вызова конструктора базового класса Person(string Name) и записи полей класса.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *