Lista encadeada de classe
Publicado por Hunz 17/01/2005
[ Hits: 14.206 ]
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;
}
Manipulando argumentos com getopt_long
Full linux c++ implementation of conio.h (conio.h para linux)
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Trazendo de volta o Serviços em Segundo Plano no Plasma6
Servidor para arquivos e banco de dados (3)
780 mil usuários do Janelas baIxaram Linux em um mês (4)
Atualizei meu ubuntu e desliguei e ele não inicia corretamente (12)









