Lista encadeada de classe

Publicado por Hunz 17/01/2005

[ Hits: 13.987 ]

Homepage: http://tnegri.com/

Download class.cpp




Script que mostra como usar
uma lista encadeada de classe
(class).

  



Esconder código-fonte

#include <iostream.h>
#include <stdlib.h>

static int total = 0; /* Numero total de unidades */

class unidades {
   int numero;       /* Nº Unidade */
   
public:
   unidades();    /* Construtor padrao */
   unidades(int); /* Construtor sobrecarregado */
   
   void aloca_proximo();    /* Construtor da proxima unidade */
   void aloca_proximo(int); /* Construtor da proxima unidade sobrecarregado */
   unidades *proximo;       /* Proxima unidade */
   
   int acessa_numero() const { return numero; }
   
   void muda_numero(int num) { numero = num; }
};

unidades::unidades()
{
   total++;
   numero = total;
}

unidades::unidades(int num)
{
   total++;
   numero = num;
}

void unidades::aloca_proximo()
{
   proximo = (unidades *) malloc(sizeof(unidades));
   total++;
   proximo->numero = total;
}

void unidades::aloca_proximo(int num)
{
   proximo = (unidades *) malloc(sizeof(unidades));
   total++;
   proximo->numero = num;
}

int main(void)
{
   unidades principal;
   unidades *aux;
   
   cout << principal.acessa_numero() << endl;
   
   principal.aloca_proximo();
   principal.proximo->muda_numero(2);
   
   cout << principal.proximo->acessa_numero() << endl;
   
   aux = &principal;
   
   cout << aux->acessa_numero() << endl;
   cout << aux->proximo->acessa_numero() << endl;
   
   aux->muda_numero(10);
   
   cout << principal.acessa_numero() << endl;
   cout << aux->acessa_numero() << endl;
   
   aux = aux->proximo;
   aux->muda_numero(20);
   
   cout << principal.proximo->acessa_numero() << endl;
   cout << aux->acessa_numero() << endl;
   
   aux->aloca_proximo();
   aux = aux->proximo;
   aux->muda_numero(3);
   
   cout << aux->acessa_numero() << endl;
   
   aux = &principal;
   
   cout << principal.acessa_numero() << endl;
   cout << aux->acessa_numero() << endl;
   
   aux = aux->proximo;
   
   cout << principal.proximo->acessa_numero() << endl;
   cout << aux->acessa_numero() << endl;
   
   aux = aux->proximo;
   
   cout << aux->acessa_numero() << endl;
   cout << principal.proximo->proximo->acessa_numero() << endl;
   
   aux->aloca_proximo();
   aux = aux->proximo;
   
   cout << aux->acessa_numero() << endl;
   
   return 0;
}

Scripts recomendados

Programa para cálculo de números complexos

Calculo calorico visando perca de gordura e definicao muscular

Manipulação de letras maiusculas e minusculas

Relógio com data e hora

Exemplo de uso de Graphics.h


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts