Está en la página 1de 4

MIR

Qu diferencias hay entre C y 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 basndose en una
caracterstica que ya tena C: las estructuras. Estas se han mejorado
y admiten funciones adems 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
parmetros con valores por defecto.
Tambin hay nuevos operadores, entre los que destacan new y
delete, que mejoran sensiblemente el tratamiento de la memoria
dinmica.
Otra capacidad introducida son las referencias, normalmente usadas
en los parmetros 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 cdigo de C a C++. La mayora de los problemas que
encuentras los programadores de C cuando usan compiladores de
C++, surgen de sta caracterstica.
C++ introduce el nuevo formato de comentarios que comienzan
con // y terminan al terminar la lnea.
Tambin se han introducido varias mejoras en la conversin de tipos
(casting). C++ incorpora nuevos conceptos de casting, por otra parte
necesarios, debido sobre todo a la nueva problemtica de la
programacin orientada a objetos: herencia y polimorfismo.
En C++ no es obligatorio especificar void en la lista de argumentos
de una funcin que no los usa, en C es s lo es.
Para que C++ pueda usar funciones definidas para C en libreras
"run-time", es necesario declararlas como extern "C".
C++ admite la declaracin 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 an 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 declaracin de variables.
En C es muy utilizada la librera stdio.h ya que en esta se encuentran
las funciones de entrada y salida de datos, como por ejemplo, printf,
scanf, en cambio en C++ aparece una nueva librera llamada

iostream.h donde se cuenta con la funciones cout y cin, para el flujo


de datos.
La librera iostream.h sirve para facilitar la entrada y salida, esta
posee el objeto cout, que sirve para manejar el flujo de salida
estndar. El operador << es el flujo de salida. << escribe su
operando derecho al flujo de salida especificado por su operando y
devuelve el operando izquierdo como resultado. El objeto cin se
encuentra definido en la librera iostream.h. El operador >> es el
flujo de entrada.
Hay que notar que un programa en C++ cuenta con ms palabras
reservadas.

Caractersticas de C++
Caractersticas
Nuevo estilo de
comentario
Tipos referencia
Funciones en lnea
Sobrecarga de
operadores
Parmetros por
omisin
Sobrecarga de
funciones

Propsito
Proporcionan mejora en legibilidad de
cdigo.
Permitir paso de parmetros por referencia.
Permite que las funciones se expandan en
lnea; similares a las macros, pero con mayor
eficacia.
Los operadores estndar de C pueden
trabajar con tipos definidos por el usuario.
Permite especificar valores por omisin para
parmetros de funciones.
Permite que un grupo de funciones con
nombres similares realicen tareas diferentes
cuando son invocadas.

Ampliacin en los Sistemas de Tipos de Datos


Caractersticas
Propsito
Prototipo de funciones Proporcionan verificaciones de tipos en las
llamadas a funciones.
Etiquetas struct,
Simplifica la sintaxis de los tipos definidos
union y enum son
por el usuario.
nombre de tipos
Operadores de
Soporta asignacin dinmica de tipos
asignacin de
definidos por el usuario; administracin
memoria
dinmica de memoria ms segura.
Enlazado con
Captura de errores de paso de parmetros

seguridad de tipos
Biblioteca de nuevos
flujos

realizando verificacin de tipos en tiempo de


enlace.
Permite mayor flexibilidad en la entrada y
salida de tipos definidos por el usuario;
soporta E/S OO.

Extensiones OO
Caractersticas
Clases
Control de acceso
Clases derivadas
Funciones amigas
Funciones virtuales
Constructores
Destructores

Propsito
Permite a las funciones y datos agruparse
juntos; se utilizan para crear objetos.
Permite restringir el acceso a los datos y
funciones de una clase.
Clases que heredan propiedades de las clases
base existentes y permite la reutilizacin y
extensin de clases.
Permite acceso selectivo a miembros de
acceso restringido de una clase.
Mecanismo que facilita el polimorfismo y que
determina la funcin a llamar en tiempo de
ejecucin.
Crean las funciones definidas por el usuario
para la inicializacin de objetos.
Se llaman automticamente para limpiar
memoria cuando los objetos se tienen que
borrar o liberar.

También podría gustarte