+ 3
It's a good language for making an OS, but you're also going to need to understand and be able to write assembly for portions of the kernel. Out of the gate you cannot use all of C++'s features without setting up things like a runtime library and exception support, which gives C over C++ some advantages in the way of kernel development.