Lista encadeada de classe
Publicado por Hunz 17/01/2005
[ Hits: 14.136 ]
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
Nenhum comentário foi encontrado.
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
O que você está ouvindo agora? [2] (223)
Como vencer a procrastinação? (3)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (7)
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (9)