helldanger1
GForum VIP
- Entrou
- Ago 1, 2007
- Mensagens
- 29,631
- Gostos Recebidos
- 1
O que é um programa em C++ ?
Introdução
Neste artigo da série Iniciando em C++ você aprenderá quais são as partes de um programa em C++, como elas se interagem e o que é uma função e o que ela faz.
As partes de um programa simples
Antes de nos aprofundarmos nos detalhes da C++, como classes e variáveis, vamos reservar um tempinho para termos uma noção do processo de montagem de um programa.
O programa simples apresentado no primeiro artigo, Hello.cpp, tem muitas partes interessantes. Agora vamos ver o programa em detalhes. A listagem abaixo reproduz a versão original do Hello.cpp.
1: #include <iostream>
2:
3: using namespace std;
4:
5: int main()
6: {
7: cout << "Hello World!\n";
8: return 0;
9: }
Output:
Hello World!
Na linha 1, o arquivo iostream.h é incluído no arquivo. Para o compilador é como se você tivesse digitado todo o conteúdo do arquivo iostream.h na abertura do Hello.cpp.
Examinando o #include caractere por caractere
O primeiro caractere é o símbolo "#", que é um sinal para o pré-processador. O pré-processador tem como função ler o código-fonte à procura de linhas que comecem com o símbolo # e, quando o localiza, modifica o código de acordo com a instrução do pré-processador.
Include é uma instrução do pré-processador que diz o seguinte: "O que vem a seguir é um nome de arquivo. Localize o arquivo e leia-o agora mesmo". Os sinais <> em tornodo nome do arquivo dizem a seguinte informação para o pré-processador: "Procure este arquivo nos lugares de sempre". Se o seu compilador estiver devidamente configurado, os <> farão com que o pré-processador procure o arquivo iostream no diretório que armazena todos os arquivos de cabeçalho do seu compilador. O arquivo iostream (Input-Output-STREAM) é usado pelo cout, que remete o texto para a tela.
Na prática, a linha 1 incluir o arquivo iostream no programa, como se você mesmo o tivesse digitado.
DICA 1: Porque no código tem <iostream> e não <iostream.h>? Bem no C++ atual, o arquivo de cabeçalho não contêm a extensão .H. Eram utilizados na versão do C++ antigo.
DICA 2: Porque utilizar "<>" e ""? Bem caso você utilize "" o compilador buscará somente no path onde está o seu código.
Análise linha a linha
A linha 3 indica que estamos utilizando o namespace STD. Um namespace permite dividir um programa em regiões que mantêm suas próprias tabelas de símbolos, estas regiões são chamadas de regiões declarativas. A idéia por trás dos namespaces é evitar que nomes declarados em um programa entrem em conflito com outros nomes definidos no mesmo programa, uma vez que os nomes de um namespace são independentes daqueles de outros.
O que estamos realmente fazendo na linha 3 é importar os símbolos do namespace STD para o espaço de nomes global. Quando importamos um símbolo para o espaço de nomes global ele fica disponível a todo o código do programa. Se não importarmos um símbolo e outro namespace , para referenciá-lo precisaremos qualifica-lo com seu namespace da seguinte maneira: namespace::nome. Por exemplo: std::cout.
A linha 5 inicia o programa propriamente dito com uma função cujo nome é main(). Todos os programas em C++ têm uma função main(). Em geral, uma função é um bloco de código que executa uma ou mais ações. As funções são invocadas (alguns programadores preferem dizer que são chamadas) por outras funções, mas main() é especial. Quando o seu programa é iniciado, main() é chamada automaticamente.
main(), como todas as outras funções deve afirmar o tipo de valor que retornará. Mais uma vez, main() é especial, pois retornará sempre int . Todas as funções começam com uma chave de abertura ({) e terminam com uma chave de fechamento (}). As chaves da função main() encontram-se nas linhas 6 e 9. Tudo o que estiver entre as chaves de abertura e de fechamento será considerado como parte integrante da função.
cout é utilizado para imprimir uma mensagem na tela.
Os dois caracteres finais, "\n", fazem com que cout coloque uma nova linha depois das palavras "Hello World!". Na linha 8 chamamos o return 0. Ela retorna o controle para o sistema operacional.
A função main() termina na linha 9, com a chave de fechamento.
Comentários
Um comentário é um texto adicionado para explicar (para você ou outros programadores) o que está acontecendo com seu código. O comentário não tem efeito; serve apenas como documentação.
Há dois tipos de comentários em C++. O comentário de barra dupla (//), que chamaremos de comentário no estilo C++, manda o compilador ignorar tudo que vem depois das barras até o final da linha.
O comentário de barra-asterisco (/*), no estilo C, manda o compilador ignorar tudo o que vem depois até que uma marca de comentário de asterisco-barra (*/) seja detectada.
Funções
Embora main() seja uma função incomum, pois é chamada automaticamente quando seu programa é inicializado. Todas as outras funções são chamadas pelo seu próprio código à medida que o programa é executado.
Um programa é executado linha a linha na ordem em que aparece no código-fonte, até uma função ser chamada. Em seguida, o programa desvia para executar a função. Quando termina a função, ele retorna o controle para a linha posterior à função chamadora.
Quando um programa precisa executar um serviço, ele chama uma função para executa-lo e, quando a função retorna, o programa volta para o ponto imediatamente anterior à função chamada.
As funções retornam um valor ou retornam um void, o que significa que não retornam nada. Observe que main() sempre retorna um int.
Uma função que inclui dois inteiros deve retornar a soma e, dessa forma, seria definida para retornar um valor inteiro. Uma função que se restringe a imprimir uma mensagem não tem nada a retornar e, portanto, seria declarada para retornar nula.
As funções consistem em um cabeçalho e um corpo. O cabeçalho consiste, por sua vez, no tipo de retorno, no nome da função e nos parâmetros dessa função. O cabeçalho também é definido como protótipo da função. Os parâmetros de uma função permitem que os valores sejam passados para a função. Assim, se a função fosse adicionar dois números, os números seriam os parâmetros da função. Veja um exemplo abaixo:
Introdução
Neste artigo da série Iniciando em C++ você aprenderá quais são as partes de um programa em C++, como elas se interagem e o que é uma função e o que ela faz.
As partes de um programa simples
Antes de nos aprofundarmos nos detalhes da C++, como classes e variáveis, vamos reservar um tempinho para termos uma noção do processo de montagem de um programa.
O programa simples apresentado no primeiro artigo, Hello.cpp, tem muitas partes interessantes. Agora vamos ver o programa em detalhes. A listagem abaixo reproduz a versão original do Hello.cpp.
1: #include <iostream>
2:
3: using namespace std;
4:
5: int main()
6: {
7: cout << "Hello World!\n";
8: return 0;
9: }
Output:
Hello World!
Na linha 1, o arquivo iostream.h é incluído no arquivo. Para o compilador é como se você tivesse digitado todo o conteúdo do arquivo iostream.h na abertura do Hello.cpp.
Examinando o #include caractere por caractere
O primeiro caractere é o símbolo "#", que é um sinal para o pré-processador. O pré-processador tem como função ler o código-fonte à procura de linhas que comecem com o símbolo # e, quando o localiza, modifica o código de acordo com a instrução do pré-processador.
Include é uma instrução do pré-processador que diz o seguinte: "O que vem a seguir é um nome de arquivo. Localize o arquivo e leia-o agora mesmo". Os sinais <> em tornodo nome do arquivo dizem a seguinte informação para o pré-processador: "Procure este arquivo nos lugares de sempre". Se o seu compilador estiver devidamente configurado, os <> farão com que o pré-processador procure o arquivo iostream no diretório que armazena todos os arquivos de cabeçalho do seu compilador. O arquivo iostream (Input-Output-STREAM) é usado pelo cout, que remete o texto para a tela.
Na prática, a linha 1 incluir o arquivo iostream no programa, como se você mesmo o tivesse digitado.
DICA 1: Porque no código tem <iostream> e não <iostream.h>? Bem no C++ atual, o arquivo de cabeçalho não contêm a extensão .H. Eram utilizados na versão do C++ antigo.
DICA 2: Porque utilizar "<>" e ""? Bem caso você utilize "" o compilador buscará somente no path onde está o seu código.
Análise linha a linha
A linha 3 indica que estamos utilizando o namespace STD. Um namespace permite dividir um programa em regiões que mantêm suas próprias tabelas de símbolos, estas regiões são chamadas de regiões declarativas. A idéia por trás dos namespaces é evitar que nomes declarados em um programa entrem em conflito com outros nomes definidos no mesmo programa, uma vez que os nomes de um namespace são independentes daqueles de outros.
O que estamos realmente fazendo na linha 3 é importar os símbolos do namespace STD para o espaço de nomes global. Quando importamos um símbolo para o espaço de nomes global ele fica disponível a todo o código do programa. Se não importarmos um símbolo e outro namespace , para referenciá-lo precisaremos qualifica-lo com seu namespace da seguinte maneira: namespace::nome. Por exemplo: std::cout.
A linha 5 inicia o programa propriamente dito com uma função cujo nome é main(). Todos os programas em C++ têm uma função main(). Em geral, uma função é um bloco de código que executa uma ou mais ações. As funções são invocadas (alguns programadores preferem dizer que são chamadas) por outras funções, mas main() é especial. Quando o seu programa é iniciado, main() é chamada automaticamente.
main(), como todas as outras funções deve afirmar o tipo de valor que retornará. Mais uma vez, main() é especial, pois retornará sempre int . Todas as funções começam com uma chave de abertura ({) e terminam com uma chave de fechamento (}). As chaves da função main() encontram-se nas linhas 6 e 9. Tudo o que estiver entre as chaves de abertura e de fechamento será considerado como parte integrante da função.
cout é utilizado para imprimir uma mensagem na tela.
Os dois caracteres finais, "\n", fazem com que cout coloque uma nova linha depois das palavras "Hello World!". Na linha 8 chamamos o return 0. Ela retorna o controle para o sistema operacional.
A função main() termina na linha 9, com a chave de fechamento.
Comentários
Um comentário é um texto adicionado para explicar (para você ou outros programadores) o que está acontecendo com seu código. O comentário não tem efeito; serve apenas como documentação.
Há dois tipos de comentários em C++. O comentário de barra dupla (//), que chamaremos de comentário no estilo C++, manda o compilador ignorar tudo que vem depois das barras até o final da linha.
O comentário de barra-asterisco (/*), no estilo C, manda o compilador ignorar tudo o que vem depois até que uma marca de comentário de asterisco-barra (*/) seja detectada.
Funções
Embora main() seja uma função incomum, pois é chamada automaticamente quando seu programa é inicializado. Todas as outras funções são chamadas pelo seu próprio código à medida que o programa é executado.
Um programa é executado linha a linha na ordem em que aparece no código-fonte, até uma função ser chamada. Em seguida, o programa desvia para executar a função. Quando termina a função, ele retorna o controle para a linha posterior à função chamadora.
Quando um programa precisa executar um serviço, ele chama uma função para executa-lo e, quando a função retorna, o programa volta para o ponto imediatamente anterior à função chamada.
As funções retornam um valor ou retornam um void, o que significa que não retornam nada. Observe que main() sempre retorna um int.
Uma função que inclui dois inteiros deve retornar a soma e, dessa forma, seria definida para retornar um valor inteiro. Uma função que se restringe a imprimir uma mensagem não tem nada a retornar e, portanto, seria declarada para retornar nula.
As funções consistem em um cabeçalho e um corpo. O cabeçalho consiste, por sua vez, no tipo de retorno, no nome da função e nos parâmetros dessa função. O cabeçalho também é definido como protótipo da função. Os parâmetros de uma função permitem que os valores sejam passados para a função. Assim, se a função fosse adicionar dois números, os números seriam os parâmetros da função. Veja um exemplo abaixo: