programming-C or C++

would have problems with function overloading etc.

Function overloading is a C++ feature, not a C feature.

malloc and free from C are replaced, in C++, by new and delete, but they perform the same functions. And guess how new and delete actually work. Yep, they call malloc and free.

meaning that while you're fluent in C++, you couldn't write the same programs in C.

I don't think that one can be fluent in C++ without understanding that classes are just an extension of C. A class just encapsulates functionality that is basically provided by C.

One can not write any C++ code and not use the C code that C++ is a superset of. All the standard operators (+, -, *, /, ++, ==, =, etc.) are basic C, as are many of the statements like if, for, switch, etc.