C++
Home

Structs

As structs são iguais aos registros em pascal. Em C++ as classes são uma evolução das structs de C. Por isso antes de vermos como funciona uma classe, vamos aprender como se declara uma estrutura.

Iniciamos uma estrutura com a palavra struct e um nome para ela. Toda estrutura tem o inicio de um bloco com um { e finaliza com um };.

struct nome {
...
};

E então, dentro desse bloco iniciamos as variáveis necessárias.

struct nome {
   int valor1;
   char valo2;
   double n2;
};

Existe várias formas de se utilizar estruturas, você pode revisar os programas em pascal para isso.
Um exemplo simples de utilização.

#include <iostream>
using std::cout;
using std::endl;

struct time
{
   int hora;
   int minuto;
   int segundo;
};

int main()
{

   time now;

   now.hora = 10;
   now.minuto = 02;
   now.segundo = 40;

   cout << now.hora << ":" << now.minuto << ":" << now.segundo << endl;

   std::cin;
   return 0;
}

Mais para frente vamos ver como resolver certos problemas com estruturas que são associados com o estilo C. Por exemplo, as extruturas não podem ser impressas como unidade.. veremos como resolver esses problemas com sobrecarga de operadores. Aguarde.

Após especificar uma struct, esta se torna um tipo, e seuss dados podem ser referenciados com uma função. Exemplo:

Usando o exemplo acima, poderiamos trabalhar com os valores da struct time com uma função

void imprimir( const time &t )
{
   cout << t.hora;
}