I completely agree with Ron (Ron, don't say that I in some cases do not agree with you ;-] ).
My ad-hoc very rough estimations will be that you'll shrink around 30/40% of code, but introducing two (virtual) levels of abstraction with (about) three levels of inheritance for real classes will slow down boot time for at least 30%.
Not to mention effort to do this. Not even worth thinking... The rule of thumb is that system SW is written in low level languages (ASM, C).
Let us leave C++ to application guys. ;-)
Zoran