- class Foo : Baseclass {
- VIRTUAL_COPY_CONS(Baseclass);
- };
-
- */
-#define VIRTUAL_COPY_CONS(base) virtual base *clone () const { return new typeof(*this) (*this); }
+#define VIRTUAL_COPY_CONSTRUCTOR(Base, name) \
+ DECLARE_CLASSNAME(name);\
+ virtual Base *clone () const \
+ { \
+ return new name (*this); \
+ }