Здравствуйте, Андрей Коростелев, Вы писали:
АК>может ты хотел сказать абстрактный?
Да, извините
Shape деиствительно абстрактный
АК>Все еще непонятно как ты работаешь с указателями
может это прояснит дело
//picture.cpp
......
void Picture::draw() const
{
for(int i=0; i<sContainer.size(); ++i)
sContainer[i]->draw(*grDevice);
}
......
АК>Судя по вопросу, тебе недостаточно просто shallow-копирования
Я не думаю, что shallow-copy будет уместно, т.к. мой вектор содержит указатели
АК>Picture::Picture(const Picture& p)
АК>: sContainer(p.sContainer),
АК> grDevice(p.grDevice)
АК>{
АК>}
АК>Кроме того, раз уж у тебя появится недефолтный конструктор копии, следует написать и оператор присваивания
АК>и деструктор
Проверьте пожалуйста destructor
...
Picture::~Picture()
{
for(int i=0; i<sContainer.size(); ++i)
delete sContainer[i];
sContainer.clear();
}
...
С оператором присваивания определюсь как только напишу конструктор копирования