Lista encadeada de classe

Publicado por Hunz 17/01/2005

[ Hits: 13.871 ]

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

Também enche a memória, porém desta vez com processos

Obtendo o tempo em C

NCURSES - Parte III

Decomposição em fatores primos

Strspn


  

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