Introdução à Linguagem de Programação C++

Linguagem de Programação C++

Uma das linguagens de programação mais importantes e utilizadas no mundo, a linguagem C++ evoluiu a partir da linguagem C, a qual foi desenvolvida por Dennis Ritchie nos laboratórios Bell, no final dos anos 60.

Sendo uma extensão do C, de acordo com Bjarne Stroustrup, que é o criador do C++, ela pode ser definida de forma sucinta como:

“… uma linguagem de programação de propósito geral com uma tendência para programação de sistemas que

  • é um C melhorado
  • suporta abstração de dados
  • suporta programação orientada a objetos
  • suporta programação genérica”

A linguagem C++ começou a ser desenvolvida em 1979 e era originalmente conhecida como C com Classes. Essencialmente, isso significava que os arquivos de classe (usados na programação orientada a objetos), foram simplesmente adicionados à linguagem C. Em 1983 ela foi renomeada para C++.

O C++ existe sob a tutela de um comitê de padrões e se tornou um padrão ISO em 1998 com uma revisão em 2011 e outras revisões em 2014, 2017 e 2020, que é a mais atual (C++20). Ela continua a ser atualizada como parte do trabalho do comitê de padrões, sendo que a próxima revisão está prevista para 2023 (C++23).

Linguagem de Programação C++

Algumas características do C++

O C++ é uma linguagem que diferencia maiúsculas de minúsculas (é case-sensitive). Isso significa que suas palavras-chave e declarações de variáveis devem corresponder a maiúsculas e minúsculas. Por exemplo, uma palavra-chave C++ para um tipo de constante é const. Se digitarmos Const ou CONST, o compilador não saberá que sua intenção é usar a palavra-chave const.

Além da distinção entre maiúsculas e minúsculas, C++ também tem um esboço definido para o código do programa e “elementos” específicos encontrados em uma aplicação C++ típica. Esses elementos consistem em:

  • Diretivas de pré-processador que são usadas para fazer com que o compilador execute tarefas antes de compilar o código-fonte
  • Diretivas using – diretivas que são utilizadas para indicar quais namespaces incluir em um arquivo de código-fonte
  • um cabeçalho de função que consiste em um tipo de retorno, nome de função e parâmetros
  • um corpo de função contendo o código que executa as ações exigidas dessa função
  • declarações que estão contidas no arquivo de código-fonte C ++
  • comentários para documentar o código-fonte para que os programadores entendam o que o código pretende fazer
  • uma instrução de retorno que envia dados de volta ao chamador da função
  • chaves para incluir o corpo das declarações. Normalmente usados para denotar o corpo de uma função ou uma instrução de controle de fluxo, como um loop for

O código-fonte C ++ também permite o uso criterioso de espaços em branco (tabulações, espaços, novas linhas) para criar um código mais fácil de ler. O compilador ignora completamente o espaço em branco, com uma pequena exceção em relação às instruções if que vamos abordar posteriormente. É altamente recomendável usar o espaço em branco para identar e separar as linhas de código para ajudar na legibilidade dos arquivos de código-fonte.

Um programa em C++ é composto de vários componentes, como funções, métodos, classes, etc. As instruções que fazem parte de um programa C++ normalmente residem dentro de funções ou métodos. Essas funções são compostas de instruções C++. Você se verá usando vários tipos de instruções em seu código C++, conforme listadas a seguir:

  • declarações – são usadas para declarar variáveis e constantes que serão usadas no programa
  • atribuições – são usadas para atribuir valores a variáveis em seu código de aplicativo
  • diretivas de pré-processador – abordadas no tópico sobre formatação de código
  • comentários – usados para documentar seu código
  • declarações de função – abordado no tópico sobre formatação de código
  • instruções executáveis – são usadas para realizar operações e executar instruções. Um exemplo seria cout << “Olá Bóson!”; que produz a frase Olá Bóson! na saída do console.

Vamos usar esses tipos de instrução durante todo nosso curso de C++.

Estrutura de um programa em C++

Um programa C++ tem uma estrutura muito específica em termos de como o código é escrito e alguns elementos-chave que usamos nos programas em C++. 

Os programas em C++ consistem de partes modulares chamadas de classes e funções. Podemos criar nossas próprias classes e funções, quando necessário, e também fazemos uso extensivo de uma rica coleção de classes e funções existente, chamada de Biblioteca Padrão do C++.

Desta forma, aprender a programar em C++ consiste em aprender duas partes coligadas: a linguagem em si, com suas estruturas e sintaxe, e aprender a usar o conteúdo da biblioteca padrão C++.

O código-fonte de um programa extremamente simples em C++ é mostrado a seguir.

1 #include <iostream>
2 // Função principal que inicia a execução do programa
3 int main()
4 {
5    std::cout << "Ola Boson!\n";
6    return 0;
7 }

Neste programa simples, notamos alguns elementos importantes. Os números das linhas são usados apenas para referência e não fazem parte do código do programa.

Vejamos o que faz cada linha.

Linha 1: Iniciada com o caractere #, é uma diretiva de pré-processador. Processada antes do programa ser efetivamente compilado. No exemplo, ela instrui o compilador a localizar e incluir o arquivo que contém o código de uma biblioteca conhecida como iostream. Esta biblioteca contém código que permite a entrada e saída para fluxos de dados, como a janela do console.

Linha 2: Linha de comentário. Toda linha iniciada com os caracteres // é uma linha destinada a comentários, usados para documentar os programas e ajudar outros programadores a entendê-los. Os comentários são ignorados quando o programa é compilado ou executado.

// Esta linha é um comentário!

Também temos comentários de múltiplas linhas, ou de bloco, que iniciam com os caracteres /* e finalizam com */.

/*
Este bloco de texto inteiro
é um bloco de comentários, que ocupa várias linhas
*/

Linha 3: Todo programa escrito em C++ deve ter uma função principal chamada de main(). É o ponto de entrada da aplicação quando iniciamos a execução do programa no computador, mesmo que não seja a primeira função presente no código. A palavra int indica o tipo de retorno do método u função – no caso, um número inteiro.

Os parênteses vazios () após o nome do método indicam que esta é uma função e que não leva argumentos, ou seja, não há parâmetros para a passagem de valores.

Os programas em C++ são constituídos de diversas funções e classes, e uma delas é sempre a função main.

Linha 4: Os corpos dos métodos e funções em C++ começam com a abertura de um par de chaves {. Ao finalizar o código do método ou função, a chave é fechada }.

Linha 5: Este código usa um método conhecido como cout (pronuncia-se “sí áut”) para enviar o texto Ola Boson! para o console de saída e exibição na tela. O prefixo std:: para este comando é uma forma de indicar que cout faz parte de um namespace conhecido como std.

Outras funções pertencentes ao namespace std incluem cerr e cin, que estudaremos posteriormente.

Assim, o símbolo :: é usado para indicar que cout faz parte do namespace std. Nem sempre usaremos essa notação – veremos como empregar as diretivas using para declarar os namespaces empregados em um programa em breve.

Note também que essa linha termina com um ponto e vírgula, e a linha toda constitui uma declaração em C++. Assim, as declarações em C++ são terminadas com ponto e vírgula, conhecido como “terminador de declarações”.

Erro comum em programação: Esquecer de inserir os ponto-e-vírgula no final de uma declaração é um erro extremamente comum em programação, não apenas em linguagem C++, mas em várias outras linguagens que utilizam essa sintaxe, como C e Java.

O símbolo << é o operador de inserção (de fluxo). Ao executar um programa, o valor que está à direita desse operador (operando direito) é inserido ou enviado ao elemento que está à esquerda do operador – no caso, a frase “Ola Boson!” é enviada para cout. O operador aponta na direção para onde vão os dados.

\n é uma sequência de escape – um caractere especial, que não é especificamente impresso na tela, mas produz algum efeito, como por exemplo mudar o cursor para o início da próxima linha (que é o caso). Outras sequências de escape existem, e as veremos em breve.

Linha 6: A instrução return é usada para encerrar ou sair de uma função ou método, e se espera que um valor seja enviado de volta a um processo chamador (que “chama” a instrução). Nesse caso, o chamador é o sistema operacional e o valor retornado é um valor inteiro 0. Se o programa chegar a essa instrução sem apresentar erros, o retorno de um valor 0 indica ao sistema operacional que o código foi executado com êxito.

Antigamente, os programadores retornavam 0 para indicar uma execução bem-sucedida e valores diferentes de zero para indicar que ocorreu um erro em algum lugar do programa.

Linha 7: Esta linha fecha o corpo da função main() (fechando a chave aberta no início) e é necessária para que o compilador saiba onde a função ou método termina, mas também é usada para outros propósitos que serão cobertos posteriormente no curso, como escopo e visibilidade de variáveis.

É isso aí! Neste tutorial apresentamos o que é o C++  e os principais elementos da linguagem, com um exemplo bem simples de código, explicando linha por linha as declarações.

Na próxima lição vamos abordar mais algumas características importantes da linguagem C++, tais como a Portabilidade e o processo de Compilação de Código.

 

Sobre Fábio dos Reis (1365 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*