Although, of course, 100% true, other answers ignore the obvious truth.
This is not a silly question, depending on the purpose of the posters. Too often, we are forced to use platform technology to achieve our goal. In particular, what the poster is trying to do is strikingly similar to COM on windows ... writing clean virtual abstract interfaces that can be obtained from one of the few ways to get bulletproof C ++ libraries without dropping back to the C interface.
I ran into the same problem when writing a plugin architecture in my native C ++ - the lack of an ABI means that it is incredibly difficult to interact with.
source share