Re[2]: side virtual method implementation
От: c-smile Канада http://terrainformatica.com
Дата: 12.02.18 22:01
Оценка:
Здравствуйте, 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 {}


?
Отредактировано 12.02.2018 22:04 c-smile . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.