C# - как говорят некоторые - попытка Microsoft написать свою Java ))
С++ - улутшеный С, по большей степени различее в обектно ориентированом программирование, в С много чего нехватает такое как - полиморфизм, наследывание ... и достаточено еше много различий