📄 nohlista.h
字号:
/********************************************************************
* MINI-COMPILADOR PARA O MINI-PASCAL *
* ----------------------------------------------------------------- *
* Membros: Anderson de Rezende Rocha - DCC/UFLA *
* undersun@comp.ufla.br *
* *
* J鷏io C閟ar Alves - DCC/UFLA *
* jcalves@comp.ufla.br *
* ----------------------------------------------------------------- *
* COMPILADORES: Prof. M醨io Luis R. Oliveira *
********************************************************************/
/*
OBSERVA钦ES:
+ Utilizada pela lista para se conseguir uma lista din鈓ica
+ O operador '==' DEVE estar definido na classe 'TValor'.
M蒚ODOS
+ clNohLista();
+ ~clNohLista();
+ clNohLista *Proximo();
+ TValor Valor();
+ TValor *ValorRef();
+ void CopiarValor(const TValor &v);
+ void Proximo(clNohLista *noh);
*/
#ifndef CLNOHLISTA_H
#define CLNOHLISTA_H
using namespace std;
// Template para se conseguir criar nohs de lista gen閞icos
template <class TValor>
class clNohLista
{
public:
// Construtor padr鉶
clNohLista();
// Destrutor
~clNohLista();
// Refer阯cia para o pr髕imo elemento da lista
clNohLista *Proximo();
// Retorna uma c髉ia do valor de um dado noh
TValor Valor();
// Retorna uma refer阯cia do valor de um dado noh
TValor *ValorRef();
// Copia o valor 'v' para o noh atual
void CopiarValor(const TValor &v);
// Seta o pr髕imo noh do atual noh, montando, assim, a lista
void Proximo(clNohLista *noh);
protected:
// Refer阯cia para o valor do noh
TValor *valor;
// Referencia para o proximo noh da lista
clNohLista *proximo;
};
// Construtor padr鉶
template <class TValor>
clNohLista<TValor>::clNohLista()
{
valor = NULL;
proximo = NULL;
}
// Destrutor
template <class TValor>
clNohLista<TValor>::~clNohLista()
{
if (valor != NULL)
delete valor;
}
// Retorna uma c髉ia do valor de um dado noh
template <class TValor>
TValor clNohLista<TValor>::Valor()
{
return *valor;
}
// Retorna uma refer阯cia do valor de um dado noh
template <class TValor>
TValor *clNohLista<TValor>::ValorRef()
{
return valor;
}
// Refer阯cia para o pr髕imo elemento da lista
template <class TValor>
clNohLista<TValor>* clNohLista<TValor>::Proximo()
{
return proximo;
}
template <class TValor>
void clNohLista<TValor>::Proximo(clNohLista *noh)
// muda o valor do proximo
{
proximo = noh;
}
template <class TValor>
void clNohLista<TValor>::CopiarValor(const TValor &v)
// muda o valor do noh
{
if (valor != NULL)
delete valor;
valor = new TValor(v);
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -