Con riferimento a: LINK


Come si può fare una cosa del genere,
dato che un template <typename tipo> non può essere virtual?

codice:
// figuraabstract.cpp/h
class FiguraAbstract { public: virtual ??????? get() = 0; } 

// cerchio.cpp/h
typedef struct tipo_s{ kkk c1, jjj c2, ... }tipo;
class Cerchio : FiguraAbstract { public: tipo get() { return tipo; }; }

// triangolo.cpp/h
typedef struct tipo_s{ xxx t1, yyy t2, ... }tipo;
class Triangolo : FiguraAbstract { public: tipo get() { return tipo; }; }

// figura.cpp/h
#ifdef cerchio
   #include cerchio.h
   class Figura:public cerchio{};
#elseif triangolo
   #include triangolo.h
   class Figura:public triangolo{};
#else
  ...
#endif