Виртуальный конструктор на шаблонах?
От: Tilir Россия http://tilir.livejournal.com
Дата: 06.08.14 12:12
Оценка: -2 :)
Hi,

Возник теоретический спор об эквивалентности шаблонного и динамического полиморфизма в C++

Был предложен такой контрпример тезису об эквивалентности как виртуальный конструктор:


class obj
{
public:
  virtual int foo (int) = 0;    
};

class A : public obj;
class B : public obj;
...

/* returns A is config have 'a', B is 'b', and so on */
obj * getfromconfig (const char *filename);

int
entry (obj *x)
{
  return x->foo();
}

int
main (void)
{
  return entry (getfromconfig("my.xml"))
}


Как бы вы переписали этот код с шаблонным полиморфизмом вместо виртуальных функций?

---
With best regards, Konstantin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.