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).
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.
Escreva um comentário