Curso completo de linguagem C++
Gameprog - Escola de programação de jogos digitais
Contato: gameprog.br@gmail.com
track02.html
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.