Diferencia entre C y C++
si me podrian decir de favor Cual es la diferencia entre C y C++ y algun articulo relacionado.
C++ es la evolución de C.
C es estructurado, C++ es Orientado a Objetos. Esa es la diferencia mas importante, es decir, C++ incluye el concepto de clase.
Pero esta no es la unica diferencia, C++ añade operadores como new y delete, que hacen mas clara la reserva dinamica de memoria, incluye sobrecarga de operadores, y muchas funciones y características de las que carece el C.
David
C es estructurado, C++ es Orientado a Objetos. Esa es la diferencia mas importante, es decir, C++ incluye el concepto de clase.
Pero esta no es la unica diferencia, C++ añade operadores como new y delete, que hacen mas clara la reserva dinamica de memoria, incluye sobrecarga de operadores, y muchas funciones y características de las que carece el C.
David
Con respecto a las diferencias entre C y C++, habría mucho que hablar, pero para comprender muchas de estas diferencias necesitarás cierto nivel de conocimientos de C++.
C++ evolucionó a partir del C, por lo tanto, C es un "subconjunto" de C++. Eso quiere decir que C está incluido en C++, en general, casi cualquier programa escrito en C podrá compilarse con un compilador de C++, y funcionará.
Así que casi todas las diferencias son del tipo de qué tiene C++ y no tiene C.
La principal diferencia es que C++ está orientado a objetos, es decir tiene clases.
Los creadores de C++ crearon las clases basándose en una característica que ya tenía C: las estructuras. Estas se han mejorado y admiten funciones además de datos como miembros. Para mantener cierta coherencia con C, y mantener el concepto de estructura en su idea original, se creó un nuevo concepto class.
Pero las diferencias no terminan ahí. Muchas de las mejoras introducidas para implementar las clases se pueden usar fuera de ellas, como la sobrecarga de funciones, y operadores, y los parámetros con valores por defecto.
También hay nuevos operadores, entre los que destacan new y delete, que mejoran sensiblemente el tratamiento de la memoria dinámica.
Otra capacidad introducida son las referencias, normalmente usadas en los parámetros de las funciones. En sentido estricto, no aportan nueva funcionalidad a los programas, ya que se pueden simular mediante punteros, pero sí aportan legibilidad y claridad.
En C++ es obligatorio usar prototipos de las funciones, en C no es necesario. Esta diferencia sí puede ser importante a la hora de migrar código de C a C++. La mayoría de los problemas que encuentras los programadores de C cuando usan compiladores de C++, surgen de ésta característica.
C++ introduce el nuevo formato de comentarios que comienzan con // y terminan al terminar la línea.
También se han introducido varias mejoras en la conversión de tipos (casting). C++ incorpora nuevos conceptos de casting, por otra parte necesarios, debido sobre todo a la nueva problemática de la programación orientada a objetos: herencia y polimorfismo.
En C++ no es obligatorio especificar void en la lista de argumentos de una función que no los usa, en C es sí lo es.
Para que C++ pueda usar funciones definidas para C en librerías "run-time", es necesario declararlas como extern "C".
C++ admite la declaración de variables locales dentro de sentencias como for, while, etc. Esto no está permitido en C. Por ejemplo:
for(int i = 0; i < 10; i++);
Aunque typedef aún se admite en C++, y se sigue usando, ya no es necesario su uso con estructuras y uniones, en C++ no es obligatorio especificar las struct o union en la declaración de variables.
CLARO QUE TODO LO ANTERIOR ME LO "PIRATIE" DE UN PROFESOR (ES MUY BUENA FUENTE) ESPERO QUE TE SIRVA DAVID
BESOS
C++ evolucionó a partir del C, por lo tanto, C es un "subconjunto" de C++. Eso quiere decir que C está incluido en C++, en general, casi cualquier programa escrito en C podrá compilarse con un compilador de C++, y funcionará.
Así que casi todas las diferencias son del tipo de qué tiene C++ y no tiene C.
La principal diferencia es que C++ está orientado a objetos, es decir tiene clases.
Los creadores de C++ crearon las clases basándose en una característica que ya tenía C: las estructuras. Estas se han mejorado y admiten funciones además de datos como miembros. Para mantener cierta coherencia con C, y mantener el concepto de estructura en su idea original, se creó un nuevo concepto class.
Pero las diferencias no terminan ahí. Muchas de las mejoras introducidas para implementar las clases se pueden usar fuera de ellas, como la sobrecarga de funciones, y operadores, y los parámetros con valores por defecto.
También hay nuevos operadores, entre los que destacan new y delete, que mejoran sensiblemente el tratamiento de la memoria dinámica.
Otra capacidad introducida son las referencias, normalmente usadas en los parámetros de las funciones. En sentido estricto, no aportan nueva funcionalidad a los programas, ya que se pueden simular mediante punteros, pero sí aportan legibilidad y claridad.
En C++ es obligatorio usar prototipos de las funciones, en C no es necesario. Esta diferencia sí puede ser importante a la hora de migrar código de C a C++. La mayoría de los problemas que encuentras los programadores de C cuando usan compiladores de C++, surgen de ésta característica.
C++ introduce el nuevo formato de comentarios que comienzan con // y terminan al terminar la línea.
También se han introducido varias mejoras en la conversión de tipos (casting). C++ incorpora nuevos conceptos de casting, por otra parte necesarios, debido sobre todo a la nueva problemática de la programación orientada a objetos: herencia y polimorfismo.
En C++ no es obligatorio especificar void en la lista de argumentos de una función que no los usa, en C es sí lo es.
Para que C++ pueda usar funciones definidas para C en librerías "run-time", es necesario declararlas como extern "C".
C++ admite la declaración de variables locales dentro de sentencias como for, while, etc. Esto no está permitido en C. Por ejemplo:
for(int i = 0; i < 10; i++);
Aunque typedef aún se admite en C++, y se sigue usando, ya no es necesario su uso con estructuras y uniones, en C++ no es obligatorio especificar las struct o union en la declaración de variables.
CLARO QUE TODO LO ANTERIOR ME LO "PIRATIE" DE UN PROFESOR (ES MUY BUENA FUENTE) ESPERO QUE TE SIRVA DAVID
BESOS
