Diferencia entre C y C ++

Tabla de contenido:

Anonim

¿Qué es el lenguaje de programación C?

C es un lenguaje de programación de nivel medio que fue desarrollado en Bell Lab en 1972 por Dennis Ritchie. El lenguaje C combina las características del lenguaje de nivel bajo y de nivel alto. Por lo tanto, se considera un idioma de nivel medio.

C es un lenguaje de programación de tipo clásico de alto nivel que le permite desarrollar firmware y aplicaciones portátiles. El lenguaje C fue desarrollado con el objetivo de escribir software de sistema. Es un lenguaje ideal para desarrollar sistemas de firmware.

¿Qué es el lenguaje de programación C ++?

C ++ es un lenguaje de programación de computadoras que contiene la característica del lenguaje de programación C, así como Simula67 (un primer lenguaje orientado a objetos). C ++ introdujo el concepto de clase y objetos.

Encapsula características de lenguaje de alto y bajo nivel. Entonces, se ve como un idioma de nivel intermedio. Anteriormente se llamaba "C con clases" ya que tenía todas las propiedades del lenguaje C.

DIFERENCIA CLAVE

  • C es un lenguaje orientado a procedimientos, mientras que C ++ es un lenguaje de programación orientado a objetos.
  • C solo admite punteros, mientras que C ++ admite punteros y referencias.
  • C no le permite usar la sobrecarga de funciones, mientras que C ++ le permite usar la sobrecarga de funciones.
  • C admite tipos de datos integrados, mientras que C ++ admite tipos de datos integrados y definidos por el usuario.
  • El lenguaje C sigue el enfoque de programación descendente, mientras que C ++ sigue un enfoque de programación ascendente.
  • C scan e printf se utilizan para la entrada y salida estándar, mientras que en C ++, cin y cout se proporcionan para operaciones de entrada y salida estándar.

C vs. C ++: diferencias clave

Base de distinción C C ++
Tipo de programación Es un lenguaje orientado a procedimientos. Es un lenguaje de programación orientado a objetos.
Acercarse El lenguaje C sigue el enfoque de programación de arriba hacia abajo C ++ sigue un enfoque de programación ascendente.
Extensión de archivo La extensión de archivo de un programa en C es .c La extensión de archivo de un lenguaje de programa c + + es.cpp
División de programas En el lenguaje de programación C, un código de programa grande se divide en partes pequeñas que se denominan funciones. En el lenguaje de programación C ++, un gran código de programa se divide en Objetos y Clases.
Estructura La estructura en C no proporciona la característica de declaración de función. La estructura en C ++ proporciona la característica de declarar una función como función miembro de la estructura.
Función en línea No permite la función en línea. Es compatible con la función en línea.
Operaciones de E / S estándar En C, scan e printf se utilizan para la entrada y salida estándar En C ++ cin »y cout« se dan para operaciones estándar de entrada y salida.
Seguridad de datos En lenguaje C, los datos no están protegidos. Los datos son seguros, por lo que no se puede acceder a ellos mediante funciones externas. (Usando el concepto de encapsulación de OOP)
Facilidad de codificación C es un lenguaje de programación más antiguo que se describe como Hands-on. En este idioma, debes decirle al programa que haga todo. Además, este idioma te permitirá hacer casi cualquier cosa. C ++ es un lenguaje de extensión de C. Permite el código orientado a objetos altamente controlado.
Compatibilidad con otros idiomas C no es compatible con otro idioma. C ++ es compatible con los otros lenguajes de programación genéricos.
Puntero C solo admite punteros. C ++ admite punteros y referencias.
Variable En C, la variable debe definirse al comienzo del programa. C ++ le permite declarar variables en cualquier lugar de la función.
Punto de enfoque C se centra en los pasos o procedimientos que se siguen para resolver un problema. C ++ enfatiza los objetos y no los pasos o procedimientos. Tiene mayor nivel de abstracción.
Sobrecarga de funciones C no le permite utilizar la sobrecarga de funciones. C ++ le permite utilizar la sobrecarga de funciones.
Tipos de datos El lenguaje C no le permite declarar tipos de datos de cadena o booleanos. Admite tipos de datos primitivos e integrados. C ++ admite tipos de datos de cadena y booleanos.
Manejo de excepciones C no admite el manejo de excepciones. Sin embargo, se puede realizar utilizando algunas soluciones. C ++ admite el manejo de excepciones. Además, esta operación se puede realizar utilizando el bloque try and catch.
Funciones No permite funciones con arreglos predeterminados Permitir funciones con arreglos predeterminados.
Espacio de nombres Está ausente en el lenguaje C. Está presente en el lenguaje C ++.
Código fuente Código fuente del programa de formato libre. Desarrollado originalmente a partir del lenguaje de programación C.
Relación C es un subconjunto de C ++. No puede ejecutar código C ++. C ++ es un superconjunto de C. C ++ puede ejecutar la mayor parte del código C, mientras que C no puede ejecutar código C ++.
Conducido por Lenguaje basado en funciones Lenguaje impulsado por objetos
Atención Se centra en el método o proceso en lugar de en los datos. Se centra en los datos en lugar del método o procedimiento.
Encapsulamiento No es compatible con la encapsulación. Como los datos y las funciones son entidades independientes y libres. Soporta encapsulamiento. Los datos y las funciones se encapsulan juntos como un objeto.
Ocultación de información C no admite la ocultación de información. En este idioma, los datos son entidades libres y se pueden cambiar fuera del código. La encapsulación oculta los datos. Para que las estructuras de datos y los operadores se utilicen según la intención.
Gestión de la memoria C proporciona funciones malloc () y calloc () para la asignación de memoria dinámica. C ++ proporciona un nuevo operador para este propósito.
Tipos de datos Admite tipos de datos integrados. Admite tipos de datos integrados y definidos por el usuario.
Variables globales Permite múltiples declaraciones de variables globales. No se permiten declaraciones múltiples de variables globales.
Concepto de mapeo El mapeo entre datos y función es muy complicado. El mapeo entre Datos y Función se puede establecer fácilmente usando "Clases y Objetos".
Herencia La herencia no es compatible C La herencia es posible en lenguaje C ++.
Archivo de encabezado predeterminado C usó el archivo de encabezado stdio.h. C ++ usa iosteam.h como archivo de encabezado predeterminado.
Función virtual El concepto de funciones virtuales está presente en C. El concepto de función virtual no se utiliza en C ++.
Palabras clave Contiene 32 palabras clave. Contiene 52 palabras clave.
Polimorfismo En C. el polimorfismo no es posible El concepto de polimorfismo se usa en C ++. El polimorfismo es una de las características más importantes de OOPS.
Programación GUI El lenguaje C ofrece la herramienta GTK para la programación de GUI C ++ admite herramientas Qt para programación GUI