Curso completo de linguagem C++
Gameprog - Escola de programação de jogos digitais
Contato: gameprog.br@gmail.com
track02.html

index << >>


02. Tipos de dados e declaração de variáveis


2.1 Classes e objetos	

Classes e objetos são as novas estruturas de dados em c++.  São tipos compostos
de dados que mantém ao mesmo tempo em sua estrutura variáveis e funções. Há uma
linguagem nova para falar sobre variáveis e funções que pertencem a essas novas
estrura de dados: 
as variáveis dentro de uma classe ou objeto são chamadas atributos ou 
propriedades, as funções são chamadas funções membros ou métodos.

Classes e objetos estão inerentemente relacionados. Vamos apelar agorar para um
exemplo do mundo real. Vamos falar sobre carros.

O meu carro gol é um objeto da classe Gol. Geralmente o fabricante vai definir
um protótipo do carro Gol e vai fabricar milhares de carros Gol  replicando as 
definições desse protótipo inicial. Posso falar que meu carro gol  é um objeto
da classe Gol ou é uma instância da classe Gol.

O meu carro gol tem propriedades tais como cor, peso, tamanho. O meu carro gol 
é capaz de ações (métodos) de acelerar, de brecar, de virar. Em c++ expressamos
dessa maneira essa questão de propriedades e métodos:
		 
// Neste exemplo supomos que a classe Gol foi criada anteriormente.
Gol meugol;		// Crio uma instância ou objeto da classe Gol 'meugol'
meugol.cor = azul;	// Defino que a propriedade cor do meu objeto é azul
meugol.peso = 1500;	// Defino o peso do meu objeto
cor = meugol.cor;	// Obtenho a propriedade cor do meu objeto
meugol.ligar();		// Aciono a ação de ligar o carro
meugol.acelerar();	// Aciono o método de acelerar o carro. 

Isto é só uma breve introdução teórica. Vamos tratar profundamente classes e
objetos nos próximos capítulos. 

2.2 O tipo bool
bool lGameOver = false;
bool lAtacar = true;
O tipo bool declara uma variável lógica que assume os valores true ou false
representando verdadeiro e falso.	

2.3 Declaração de variáveis

- Em c++ você tem a liberdade de declarar as variáveis em qualquer lugar.

- Você pode declarar variáveis locais dentro de qualquer bloco de código,  
mesmo dentro das estruturas de controle e repetição (if, for, switch, 
do\while).

Exemplo: 

for (int ncx = 0; ncx < 10; ncx++) {
	cout << ncx << endl;
} // fim for ncx 

int nVidas = 5;
int nEnergia = 100;

switch (nVidas) {
	int nEnergia = 0;
	
	case 0:
		if (nEnergia == 0 && nVidas == 0) game_over();
	break;

} //  fim switch nVidas 

Nos blocos de código acima declaramos duas variáveis locais nEnergia e ncx. 
Estas variáveis são locais restritas ao bloco e só existem enquanto o bloco
estiver rodando.

2.3.1 Aninhamento de blocos	
Em qualquer lugar do seu seu programa vc pode criar blocos mais internos
e declarar variáveis locais restritas a esses blocos:

// aninhamento.cpp #include <iostream> using namespace std; int main() { system("color f0"); system ("title aninhamento.cpp"); for (int ncx = 0; ncx < 10; ncx++) { { int nteste = 5; { for (int mcx =0; mcx < nteste; mcx++) cout << mcx << "\t"; } // fim do bloco mais interno } // fim do bloco mais externo cout << ncx << endl; } // fim for ncx system("pause"); } // endmain
Em programas mais complexos, vc acaba fazendo aninhamento de várias estruturas de controle, encadeando if's, for's e switch's. Recomendamos a prática de identificar o final desses blocos para facilitar a leitura do programa. Lembre-se que terminando-se esses blocos as variáveis declaradas dentro deles são destruídas.
index << >>


Produzido por Gameprog: Jair Pereira - Fev/2006 - Junho/2013 © gameprog.br@gmail.com http://www.gameprog.com.br