Curso completo de linguagem C++
Gameprog - Escola de programação de jogos digitais
Contato: gameprog.br@gmail.com
track01.html
01. O primeiro programa
Vamos começar nosso curso analisando um programa simples escrito na linguagem C++:
// basico.cpp
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int main() {
string txt = "Press start to play";
cout << txt << "\n";
std::cout << txt << endl;
system("pause");
} // endmain
#include <iostream>
#include <string>
#include <cstdlib>
Os arquivos da biblioteca padrão ou os arquivos que estiverem dentro
do diretório include padrão são incluidos no seu programa através da
delimitação pelo par de sinais matemáticos menor/maior (< >):
#include <iostream>. Da biblioteca <iostream> nós utilizamos cout <<
para mostrar o objeto string (txt) na tela que foi construído usando a
biblioteca <string>.
// Programa: basico.cpp
As barras duplas são a forma C++ de inserir um comentário no programa.
Finalizamos nosso programa com um comentário // endmain. Recomendamos
que vc identifique sempre o final do bloco de código, principalmente
quando vc aninhar vários blocos um dentro do outro.
#include <cstdlib>
As bibliotecas da linguagem c são incluídas suprimindo o .h e prefixando
o nome arquivo com a letra c: stdlib.h vira <cstdlib>.
#include "meu_arquivo.h"
Vc continua usando a sintaxe antiga para incluir outros arquivos de
cabeçalho.
using namespace std;
O namespace é basicamente um recipiente de código para evitar conflito de
nomes iguais. Sua finalidade é semelhante a das pastas do sistema Windows,
que ao mesmo tempo que permite uma melhor organização do conteúdo, evita
o conflito de arquivos com nomes iguais. Dois fabricantes diferentes de
software podem desenvolver funções ou classes com o mesmo nome e vc pode
usá-las no mesmo programa desde que elas ocupem namespaces diferentes.
A declaração using namespace std; declara que vamos usar o código do
namespace std. Sem essa declaração vc tem que prefixar todas as classes,
funções e objetos com o nome do namespace para poder usá-los dessa
forma: std::cout
int main();
Esta função continua sendo o ponto de entrada do programa c++.
string txt = "Press start to play";
Aqui nesta linha criamos txt como um objeto da classe string.
cout << txt << "\n";
std::cout << txt << endl;
Aqui mostramos o conteúdo da variável string txt. Esta variável
representa um objeto ou uma instância da classe string.
Manipuladores: endl
A biblioteca <iostream> possui manipuladores que modificam a entrada
entrada e saida de dados nos fluxos do programa. Por exemplo, endl é
semelhante ao "\n" ocasionando o pulo para uma nova linha. Porém endl
ou std::endl finaliza um fluxo de dados esvaziando buffers e enviando
todo o conteúdo pendente para o dispositivo com o qual estamos
tratando, nesse nosso primeiro exemplo é a tela mas poderia ser um
arquivo no disco.
Nos próximos capítulos vamos ver mais estendidamente os manipuladores,
strings, namespaces, classes e objetos.
system("pause");
Esta função da biblioteca <cstdlib> executa um comando ou programa do
Ms_Dos e também arquivos de lote (bat) e executáveis (exe).
int system(const char *command);
nSts = system(sCmdLine);
nSts....Esta função retorna zero no sucesso, e nonzero para falhas.
Ex.:
char sCmdLine[] = "color 2f;" // define verde para a cor de fundo;
system(sCmdLine);
// muda o título da janela de console para basico.cpp
system("title basico.cpp");
No site Gameprog tem um curso gratuito sobre ms-dos do qual você
aproveitar outros comandos para usar com a função system().