All right, I can't resist. I have to ask, "why?" Why go through all the pain of manually setting up vtables when we have a language that will do it for you?
Yeah, yeah, I know all about Linus' biases against C++. He's flat out wrong and being a stick in the mud. One does not have to use every feature of a language to get good productivity out of the language. It seems to me simple uses of the C++ inheritance model would clean up code considerably and lead to fewer bugs and more developer hair.