Diferença entre C e C ++

Índice:

Anonim

O que é a linguagem de programação C?

C é uma linguagem de programação de nível médio que foi desenvolvida no Bell Lab em 1972 por Dennis Ritchie. A linguagem C combina os recursos de baixo nível e também de alto nível. Portanto, é considerada uma linguagem de nível médio.

C é uma linguagem de programação de tipo clássico de alto nível que permite desenvolver firmware e aplicativos portáteis. A linguagem C foi desenvolvida com o objetivo de escrever softwares de sistema. É uma linguagem ideal para o desenvolvimento de sistemas de firmware.

O que é a linguagem de programação C ++?

C ++ é uma linguagem de programação de computador que contém o recurso da linguagem de programação C, bem como Simula67 (uma primeira linguagem orientada a objeto). C ++ introduziu o conceito de Classe e Objetos.

Ele encapsula recursos de linguagem de alto e baixo nível. Portanto, é vista como uma linguagem de nível intermediário. Anteriormente, era chamado de "C com classes", pois tinha todas as propriedades da linguagem C.

DIFERENÇA CHAVE

  • C é uma linguagem orientada a procedimentos, enquanto C ++ é uma linguagem de programação orientada a objetos.
  • C oferece suporte apenas a ponteiros, enquanto C ++ oferece suporte a ponteiros e referências.
  • C não permite que você use a sobrecarga de função, enquanto C ++ permite que você use a sobrecarga de função.
  • C oferece suporte a tipos de dados internos, enquanto C ++ oferece suporte a tipos de dados internos e definidos pelo usuário.
  • A linguagem C segue a abordagem de programação de cima para baixo, enquanto C ++ segue uma abordagem de programação de baixo para cima.
  • C scan e printf são usados ​​para entrada e saída padrão, enquanto em C ++, cin e cout são fornecidos para operações de entrada e saída padrão.

C vs. C ++: Principais diferenças

Base de distinção C C ++
Tipo de programação É uma linguagem orientada por procedimentos. É uma linguagem de programação orientada a objetos.
Aproximação A linguagem C segue a abordagem de programação Top Down C ++ segue a abordagem de programação ascendente.
Extensão de arquivo A extensão do arquivo de um programa C é .c A extensão do arquivo de uma linguagem de programa c ++ é .cpp
Divisão de programa Na linguagem de programação C, um grande código de programa é dividido em pequenos pedaços que são chamados de funções. Na linguagem de programação C ++, um grande código de programa é dividido em Objetos e Classes.
Estrutura A estrutura em C não fornece o recurso de declaração de função. Estrutura em C ++ fornece o recurso de declarar uma função como uma função membro da estrutura.
Função inline Não permite função embutida. Suporta função embutida.
Operações de E / S padrão Em C, scan e printf são usados ​​para entrada e saída padrão Em C ++, cin »e cout« são fornecidos para operações de entrada e saída padrão.
Segurança de dados Na linguagem C, os dados não são protegidos. Os dados são seguros, portanto, não podem ser acessados ​​por funções externas. (Usando o conceito de encapsulamento de OOPs)
Facilidade de codificação C é uma linguagem de programação mais antiga, descrita como Prática. Neste idioma, você deve dizer ao programa para fazer tudo. Além disso, esta linguagem permite que você faça quase tudo. C ++ é uma linguagem de extensão de C. Ela permite o código orientado a objetos altamente controlado.
Compatibilidade com outros idiomas C não é compatível com outro idioma. C ++ é compatível com as outras linguagens de programação genéricas.
Pointer C suporta apenas ponteiros. C ++ suporta ponteiros e referências.
Variável Em C, a variável deve ser definida no início do programa. C ++ permite que você declare variáveis ​​em qualquer lugar da função.
Ponto de Foco C enfoca as etapas ou procedimentos que são seguidos para resolver um problema. C ++ enfatiza os objetos e não as etapas ou procedimentos. Possui maior nível de abstração.
Sobrecarga de função C não permite que você use a sobrecarga de função. C ++ permite que você use a sobrecarga de função.
Tipos de dados A linguagem C não permite declarar tipos de dados String ou Boolean. Ele oferece suporte a tipos de dados internos e primitivos. C ++ oferece suporte a tipos de dados String e Boolean.
Manipulação de exceção C não oferece suporte ao tratamento de exceções. No entanto, isso pode ser executado usando algumas soluções alternativas. C ++ oferece suporte ao tratamento de exceções. Além disso, esta operação pode ser realizada usando o bloco try e catch.
Funções Não permite funções com disposições padrão Permitir funções com arranjos padrão.
Namespace Ele está ausente na linguagem C. Está presente na linguagem C ++.
Código fonte Código-fonte do programa de formato livre. Originalmente desenvolvido a partir da linguagem de programação C.
Relação C é um subconjunto de C ++. Ele não pode executar código C ++. C ++ é um superconjunto de C. C ++ pode executar a maior parte do código C, enquanto C não pode executar código C ++.
Conduzido por Linguagem baseada em funções Linguagem orientada a objetos
Foco Concentra-se no método ou processo em vez de dados. Concentra-se em dados em vez de método ou procedimento.
Encapsulamento Não suporta encapsulamento. Como dados e funções são entidades separadas e livres. Suporta encapsulamento. Dados e funções são encapsulados juntos como um objeto.
Esconder informações C não suporta ocultação de informações. Nesta linguagem, os dados são entidades livres e podem ser alterados fora do código. O encapsulamento oculta os dados. Para que as estruturas de dados e os operadores sejam usados ​​conforme a intenção.
Gerenciamento de memória C fornece funções malloc () e calloc () para alocação dinâmica de memória. C ++ fornece um novo operador para esse propósito.
Tipos de dados Suporta tipos de dados integrados. Suporta tipos de dados integrados e definidos pelo usuário.
Variáveis ​​globais Permite declaração múltipla de variáveis ​​globais. Declarações múltiplas de variáveis ​​globais não são permitidas.
Conceito de Mapeamento O mapeamento entre Dados e Função é muito complicado. O mapeamento entre Dados e Função pode ser facilmente estabelecido usando "Classes e Objetos".
Herança Herança não é suportada C A herança é possível na linguagem C ++.
Arquivo de cabeçalho padrão C usou o arquivo de cabeçalho stdio.h. C ++ usa iosteam.h como arquivo de cabeçalho padrão.
Função virtual O conceito de funções virtuais está presente em C. O conceito de função virtual não é usado em C ++.
Palavras-chave Contém 32 palavras-chave. Contém 52 palavras-chave.
Polimorfismo Em C. O polimorfismo não é possível O conceito de polimorfismo é usado em C ++. O polimorfismo é uma das características mais importantes do OOPS.
Programação GUI A linguagem C oferece ferramenta GTK para programação GUI C ++ suporta ferramentas Qt para programação GUI