Конструктор копирования: глубокое копирование абстрактного класса ⇐ C++
Конструктор копирования: глубокое копирование абстрактного класса
Предположим, у меня есть следующее (упрощенный случай):
класс Цвет; класс IColor { публика: виртуальный цвет getValue (const float u, const float v) const = 0; }; Цвет класса: публичный IColor { публика: плавать r,g,b; Color(float ar, float ag, float ab): r(ar), g(ag), b(ab) {} Color getValue(const float u, const float v) const { вернуть цвет(r, g, b) } } класс Материал { частный: IColor* _color; публика: Материал(); Материал (const Material& m); } Теперь, есть ли способ сделать глубокую копию абстрактного IColor в конструкторе копирования Material? То есть я хочу, чтобы копировались значения любого m._color (цвета, текстуры), а не только указатель на IColor.
Предположим, у меня есть следующее (упрощенный случай):
класс Цвет; класс IColor { публика: виртуальный цвет getValue (const float u, const float v) const = 0; }; Цвет класса: публичный IColor { публика: плавать r,g,b; Color(float ar, float ag, float ab): r(ar), g(ag), b(ab) {} Color getValue(const float u, const float v) const { вернуть цвет(r, g, b) } } класс Материал { частный: IColor* _color; публика: Материал(); Материал (const Material& m); } Теперь, есть ли способ сделать глубокую копию абстрактного IColor в конструкторе копирования Material? То есть я хочу, чтобы копировались значения любого m._color (цвета, текстуры), а не только указатель на IColor.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Скопируйте данные в ссылку — копирование или глубокое копирование не работают
Anonymous » » в форуме Python - 0 Ответы
- 22 Просмотры
-
Последнее сообщение Anonymous
-