I've worked in a large company with a legacy codebase that attempted to do this in the 90's when C++ & inheritance was the latest-thing.
It has turned out to be a real maintenance nightmare for them, it obfuscates normal code scaring off anyone who looks at the it.
Lack of tooling is a major issue, try getting eclipse to find the definition of one of your virtual methods...
This is before you consider that all it gives you is inheritance. Wide use of inheritance is an anti-pattern and this gives you the mechanism without the ease-of-use that makes it maintainable.
In summary... AVOID DOING THIS AT ALL COSTS
(It will cost you when you need to re-write in a sane way in a few years time).
Anyway... this has been done hundreds of times before, ever heard of CFront??
I've worked in a large company with a legacy codebase that attempted to do this in the 90's when C++ & inheritance was the latest-thing. It has turned out to be a real maintenance nightmare for them, it obfuscates normal code scaring off anyone who looks at the it. Lack of tooling is a major issue, try getting eclipse to find the definition of one of your virtual methods...
This is before you consider that all it gives you is inheritance. Wide use of inheritance is an anti-pattern and this gives you the mechanism without the ease-of-use that makes it maintainable.
In summary... AVOID DOING THIS AT ALL COSTS (It will cost you when you need to re-write in a sane way in a few years time).
Anyway... this has been done hundreds of times before, ever heard of CFront??