Lista encadeada de classe
Publicado por Hunz 17/01/2005
[ Hits: 14.169 ]
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;
}
Shadow Mapping utilizando OpenGL e Cg
Script em C++ de uma Lista Estática.
Painel de configuração placas ati
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)
Instalação dualboot Windows 11 e Debian 13 (7)









