// Aluno.cpp: implementation of the CAluno class.
//
//////////////////////////////////////////////////////////////////////

#include <iostream.h>
#include <string.h>

#include "generic.h"
#include "Aluno.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CAluno::CAluno()
{
	m_sNome = 0;
	m_nNumero = 0;
}

CAluno::~CAluno()
{
	delete [] m_sNome;
}

CAluno::CAluno(const CAluno &a)
{
	Copia(a);
}

void CAluno::Copia(const CAluno &a)
{
	m_sNome = new char[strlen(a.m_sNome)+1];
	strcpy(m_sNome, a.m_sNome);

	m_nNumero = a.m_nNumero;
}

CAluno* CAluno::Duplicar() const
{
	CAluno* pNovo = new CAluno(*this);

	return pNovo;
}

void CAluno::Apresenta() const
{
	cout << "Numero: " << m_nNumero << endl;
	cout << "Nome: " << m_sNome << endl;
}

void CAluno::Leitura()
{
	cout << "Numero: ";
	cin >> m_nNumero;


	char sAux[STR_MAX];

	cout << "Nome: ";
	cin >> sAux;

	m_sNome = new char[strlen(sAux)+1];
	strcpy(m_sNome, sAux);
}

CAluno& CAluno::operator =(const CAluno &a)
{
	Copia(a);

	return *this;
}


int CAluno::operator ==(const CAluno &a) const
{
	if ( m_nNumero == a.m_nNumero )
		 return TRUE;
	else
		return FALSE;
}

int CAluno::operator ==(const int &n) const
{
	if ( m_nNumero == n)
		 return TRUE;
	else
		return FALSE;
}

int CAluno::GetNumero() const
{
	return m_nNumero;
}

void CAluno::SetNumero(const int &nNum)
{
	m_nNumero = nNum;
}
