Здравствуйте, rg45, Вы писали:
R>Я бы предложил переименовать как-нибудь AbstractFooImpl::do_something. А потом подмешивать AbstractFooImpl при помощи дополнительного шаблонного класса:
А чем такой mixer лучше виртуального наследования:
class AbstractFoo {
virtual int do_something() = 0;
}
class Manipula {}
class Bar : public virtual AbstractFoo, public Manipula {}
class Zap : public virtual AbstractFoo, public Manipula {}
class ConcreteFoo : public virtual AbstractFoo {
int do_something() { return 0; }
}
class ConcreteBar : public Bar, ConcreteFoo {}
class ConcreteZap : public Zap, ConcreteFoo {}
?