// ElemLista.h 

// Aulas de 11 e 17 de Janeiro de 2002

#include "aluno.h"


class cElemListaSimples
{
protected:
	cElemListaSimples *Proximo;
public :
	cAluno Aluno;

	cElemListaSimples() { Proximo = 0; }

	void Ligacao( cElemListaSimples *pEl2 ); 
	cElemListaSimples *GetProximo() { return Proximo; }

	
};



//  cElemListaDupla * é tb considerado um cElemListaSimples*
//    mas o inverso não é verdade.   
//  Um objecto da classe cElemListaDupla é considerado tb um objecto da classe cElemListaSimples        
//    mas o inverso não é verdade.   


class cElemListaDupla : public cElemListaSimples    
{
	cElemListaDupla *Anterior;
public : 
	cElemListaDupla() { Anterior=0; }

	void Ligacao( cElemListaDupla *pEl2 );		//Redefinição do método Ligacao    
	
	cElemListaDupla *GetProximo() { return ( cElemListaDupla *)  Proximo; }   // Redefinição do método GetProximo
};

