Здравствуйте, whirlwind_t, Вы писали:
_>Например, _>
_>class A {
_>public:
_> virtual void foo() = 0;
_>};
_>class B {
_>public:
_> A* a;
_>};
_>
_>Как написать конструктор копирования для B, чтобы каждый класс B владем своим экземпляром наследника A? Ведь мы не знаем, что будет наследоваться от A...
Либо:
class B {
public:
boost::shared_ptr<A> a;
};
либо
B::B( const B& b)
{
a=b.a->Clone();
}
В зависимости от того какое копирование больше подходит