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