There is another difference: the C compiler is used, not the C++ compiler (gcc instead of g++)
Near as I can tell, that's per file type.
I see in the project file that, for a C project, it specifies "CC" for compiler and for a CPP project, it doesn't specify a compiler. I see no place to change the "type" once a project is created, though.
Also, when I add a .c file to a "C++ project", it gets the "CC" attribute added.
Oddly, when I add a .cpp file to a "C project", it doesn't.
I'll have to monkey with it a bit when I get more time. IMHO, the current behavior is buggy, but I've just started trying to use C::B, so it's just as likely that I simply don't understand how things are supposed to work.
Probably the private/protected bug is easy to fix, because this keywords are hard-coded (parsing is related)
I'll have to dig in to the source and see if it's worth it for me to come up with fixes for some of these things, or if I should try to get something resembling my Linux dev situation working on Windows. msys works, but I prefer to work natively on each platform, if I can.
I certainly don't want to go back to Visual Studio unless I can't find a better option. The price (in time and hassle, not to mention money) is way to high, though the useability is, if not perfect, at least reasonable.
C::B seems well worth investing some time in, and I'm certainly thankful for what's been done so far!