параметры по наследованию

класс Animal есть классом родителем для класса Dog, тоисть Dog должен иметь поля класса Animal при насследовании(тоисть поле name будет при наследовании в private секции), но когда поле name в классе родителе есть в private секции, то при наследовании я не могу к нему обращяться в полях класса Dog(когда name в public то могу), подскажите пожалуйста почему так происходит и как можна это исправить(заранее прошу прощение за глупой вопрос, просто не мог найти ответ до этого вопроса)

 class Animal
    {
    private:
        std::string name;
    public:
        void GiveName(std::string name)
        {
            this->name = name;
        }
        std::string GetName()
        {
            return name;
        }
    };
    
    class Dog : public Animal
    {
    public:
        void ChangeName(std::string name)
        {
            this->name = name;
        }
    };

Ответы (0 шт):