Lista encadeada de classe

Publicado por Hunz 17/01/2005

[ Hits: 14.300 ]

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

SIMULADOR DE DADOS DE RPG - Baseado em Vampiro A Máscara - Alea Jacta Est ver2.0.1

Ajuda para calcular 5 Notas! Não Consigo colocar os gets na formula

média de notas de um aluno

Regra de Horner para cálculo do polinômio

Determinando a posicão de ocorrencia de uma string em outra


  

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