Ah! Si, si, si yo no digo que no.
Claro que no es necesario pasar por C si quieres estudiar C++.
Todo depende de lo que ya sabes, y de lo que quieres aprender, y cómo quieres aprender.
Si ya sabes Java, por ejemplo, que es orientado a objetos y estas acostumbrado a orientado a objetos, pues entonces puedes usar C++, solo tendrás que ver algunas cosas nuevas y listo.
Si no sabes nada de programación de aplicaciones de escritorio o de consola, entonces es mejor que aprendas primero C antes de C++, por el simple motivo de que, si por si solo el tema de punteros, estructuras y typedef ya suelen dar demasiados quebraderos de cabeza en C para los novatos, si a eso le sumas la programación orientada a objetos de C++, entonces ya la lias parda. Es demasiado si estas empezando. Lo natural es hacer algo en C, comprender perfectamente los punteros, la estructura de los programas, la estructura de la memoria y demás, y cuando tienes todos esos conceptos asimilados entonces comienzas a expandirte, aprendes orientación a objetos y entonces te pasas a C++.
Normalmente al comienzo cuesta comprender que es un puntero a un tipo char, imaginate si comienzas intentando comprender qué es un puntero a un objeto de la clase coche. Se mezclan los conceptos y cuesta mucho mas digerirlos.
Eso si, estamos hablando de APRENDER un lenguaje, no de usar un lenguaje. He visto mucha gente (entre ellas yo) que dicen estar aprendiendo un lenguaje, o que ya lo dominan, y luego realmente son incapaces de distinguir entre una variable pasada por referencia o por dato, entre un puntero a entero o un entero, o incapaz de explicar un poco por encima como se usa gestiona la memoria.
Hay que distinguir entre aprender a usar, aprender a dominar, usar y dominar. La mayoria de gente de este foro "aprende a usar" o "usa" pero a nadie le da por "aprender a dominar" o a "dominar". Mi consejo: aprende a dominar a C, y cuando lo domines medianamente, entonces pasa a aprender a dominar a C++.
No te quedes solo en PARA QUÉ sirven las cosas, si no en QUÉ son, CÓMO son, POR QUÉ son mejores unas que otras y CUAL es su naturaleza dentro del propio ordenador. En resumen: cuestíonate las cosas!
Mucha gente de este foro sabría decir para que sirve un int, pero pocos sabría decir qué es en realidad, cómo esta codificado, por qué se usa int y no char, o small int, y por cómo se gestiona un int en la memoria (cual es su naturaleza). Saber esas pequeñas diferencias, y interesarte en ellas, será lo que marque si aprendes a usar, o aprendes a dominar. Yo por mi parte todavía intento aprender a dominar.
Siento haber soltado el discursito!
Saludos