1. Programa C++ mais simples
int main() // Programa C++ mais simples
{
} Code language: JavaScript (javascript)
- Este código define uma função apenas com
main, sem parâmetros de entrada e sem executar nenhuma operação. - A chave de abertura { indica o início da função main, a chave de fechamento } marca o final do corpo da função. Todo código que deve ser executado fica dentro de {}.
- As duas barras inclinadas
//representam comentário de linha única. Tudo após//até o fim da linha é apenas leitura humana e o compilador ignora os comentários; - Todo programa C++ completo deve ter exatamente uma função global
main(), a execução do programa começa pelomain intsignifica que a função retorna um número inteiro. Dentro do corpo da função, retornar 0 indica execução normal do programa, retornar um valor diferente de 0 significa que houve um erro.- O valor de retorno citado no item 5 é lido por sistemas Unix/Linux, enquanto a maioria dos programas Windows não o utiliza.
2. Exemplo completo de saída padrão Hello World
#include <iostream>
int main()
{
std::cout << "Hello, World!\n";
}Code language: C++ (cpp)
#include <iostream>: Informa ao compilador para importar as declarações da biblioteca de fluxos de entrada e saída padrão. Sem essa linha, o comando de saídastd::coutnão será reconhecido;
iostreamé uma das bibliotecas padrão citadas anteriormente, um código pronto em C++ embutido no compilador, usado para operações de entrada e saída, como exibir um texto no terminal do console.
- Operador de saída
<<: Escreve o conteúdo do lado direito no objeto de saída std::cout. Neste exemplo, a string literal"Hello, World!\n"é impressa (não em impressora física, e sim exibida) no console padrão (terminal CMD) viastd::cout - “Hello, World!\n” é uma string literal: texto envolto por aspas duplas; o caractere de escape
\né uma quebra de linha, após a impressão o cursor pula automaticamente para a linha seguinte std::: Qualificador de namespace, indica que ocouté um componente da biblioteca padrãostd. Mais adiante veremos o comandousing namespace std;, que permite omitir o prefixostd::e usar apenascout.
O qualificador de namespace serve para evitar conflitos de nomes, adicionando um prefixo às bibliotecas. Por analogia: se houver dois alunos com o mesmo nome em uma turma, o professor pode adicionar rótulos como Jason Um, Jason Dois para diferenciá-los; esse rótulo tem a mesma função do std aqui.
Exemplo completo
O exemplo abaixo define duas funções extras: uma é chamada dentro da main, e ela por sua vez chama a outra. O código calcula a área de um círculo: basta informar o raio para exibir a área correspondente.
#include <iostream>
using namespace std; // Ao declarar o namespace std, não é preciso escrever std:: nos comandos abaixo
// Calcular área do círculo
double circle_area(double x)
{
return 3.14 * x * x;
}
// Exibir área do círculo
void print_circle_area(double r)
{
cout << "The area of circle with radius " << r << " is " << circle_area(r) << "\n";
}
int main()
{
print_circle_area(2.0); // Raio igual a 2, exibe a área do círculo
return 0;
}Code language: C++ (cpp)
Resultado da execução
The area of circle with radius 2 is 12.56Code language: JavaScript (javascript)
É possível encadear vários operadores << no cout para exibir múltiplos conteúdos seguidos. Sem o caractere \n, tudo permanece na mesma linha. Além de strings literais, também é possível imprimir variáveis, como a variável r do tipo double deste trecho.
Em void print_circle_area(double r), o trecho entre parênteses (double r) são os parâmetros de entrada. O parâmetro de entrada significa que o valor de r é passado de fora para dentro da função. Ao chamar print_circle_area(2.0); na main, o valor 2.0 é enviado, então dentro da função r vale 2.0. Depois, o cout exibe um texto, a variável r e em seguida chama a função circle_area(r). Nessa chamada, o valor 2.0 de r é repassado para o parâmetro x de double circle_area(double x), logo x também vale 2.0 nessa função. O cálculo 3.14 * 2 * 2 resulta em 12.56, que é retornado via return para o ponto de chamada, equivalente ao código abaixo:
cout << "The area of circle with radius " << r << " is " << 12.56 << "\n";Code language: C++ (cpp)
Após a exibição terminar, a chave fecha a função print_circle_area e o fluxo retorna para a main.
