Lista encadeada de classe
Publicado por Hunz 17/01/2005
[ Hits: 14.260 ]
Homepage: http://tnegri.com/
Script que mostra como usar
uma lista encadeada de classe
(class).
#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;
}
Pra quem gosta de RPG. Um sistema de lutas.
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (6)
A fórmula da coca-cola foi decompilada e agora é opensource! (4)









