Как члены Базового класса копируются в наследство, когда мы копируем / назначаем объекты производного класса? - PullRequest
1 голос
/ 08 мая 2019

У меня есть следующий сценарий:

У меня есть абстрактный базовый класс без конструктора копирования, ни один оператор присваивания не имеет некоторых элементов данных

производный класс (производный от базового класса выше) имеет оператор присваиванияимеет некоторые элементы данных

Как будут копироваться члены базового класса, когда мы копируем объект производного класса в другой существующий объект производного класса.Я понимаю, что у нас есть оператор присваивания, определенный для производного класса, который копирует члены производного класса, но как будут копироваться члены базового класса, будет ли это через оператор присваивания по умолчанию?

1 Ответ

3 голосов
/ 08 мая 2019

Как будут копироваться члены базового класса

Поскольку явного конструктора копирования нет, он будет сгенерирован компилятором.Он, в свою очередь, вызовет / сгенерирует конструкторы копирования для членов данных базового класса.В конце, встроенные типы (int, float, указатели! и т. Д. просто копируются), типы с конструкторами копирования могут копировать себя, любой другой тип вызовет ошибку времени компиляции.

...