> CはC++のサブクラス(逆に言えばC++はCのスーパークラス?)だから

これはあきらかな「間違い」です。
C++はCのスーパーセットではありません。
Stroustrap自身がそう書いてるじゃん。

また、任意のCのプログラムが、C++としても正しい(コンパイルできる)プログラムには
ならないのです。

実際問題、Cのソースをコンパイルできない(サポートできない)C++の処理系だって
いくつもありますよ。