И еще о наследовании
От: Kao Moneus Россия  
Дата: 09.03.06 07:13
Оценка:
Объяснить свою проблему попробую в коде.
Есть базовый класс. В нем есть некая виртуальная функця.
class Base
{
  public:
  virtual void Foo()
  {
  //Здесь содержится ее первоначальное поведение
  } 
}

Есть сторонняя процедура которая использует класс Base и ничего не знает про потомков.
void ForeignProc(Base* pObj)
{
...
   pObj->Foo();
...
}


Ну короче. Проблема в том, что для умолчального поведения можно сделать ряд оптизаций. Так как заранее известно, какие ресурсы умолчальный метод использует, а какие нет. Ну и соответсвенно, не используемые ресурсы можно не блокировать (ими может пользоваться другой поток). Моя мечта — сделать это без дополнительных классов... То есть без дополнительных классов и прямо внутри ForeignProc определить — перегружена функция Foo или нет.
При наследовании встает другая проблема. Но на первом этапе хотелось бы обсудить именно этот момент (что бы не засорять заранее умы). Может есть способы?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.