Овернех на виртуальное наследование
От: Alexander G Украина  
Дата: 27.06.08 10:13
Оценка: :))
Какие обычно дополнительные накладные расходы по памяти и по скорости вызова на использование виртуального наследования интерфейсов ?

struct ISome
{
  virtual void Some1() = 0;
};

struct ISomeA : virtual public ISome
{
  virtual void Some1A() = 0;
};
 

struct ISomeB : virtual public ISome
{
  virtual void Some1B() = 0;
};


struct Some : virtual public ISome
{
  void Some1() {}
};

struct SomeA : public ISomeA
{
  void Some1A() {}
};


struct SomeB : public ISomeB
{
  void Some1B() {}
};


struct X
  : public Some
  , public SomeA
{
  // Some1A::Some1 перекрыт в Some через dominance
};

struct Y
  : public Some
  , public SomeB
{
  // Some1B::Some1 перекрыт в Some через dominance
};

X x;
Y y;
Русский военный корабль идёт ко дну!
virtual base virtual inheritance interface
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.