// Pessoa.cpp
// Definição dos métodos da família de classes cPessoa

// Aula de 24 de Janeiro de 2002

#include "Pessoa.h"
#include <string.h>


cPessoa::cPessoa( char *sNome )
{
	strcpy( Nome, sNome );
}

void cPessoa::Escrever( ostream &out )
{
	out << "Nome : " << Nome << endl;
	
}


//cContribuinte::cContribuinte( long NrContrib )    FORÇAR o ERRO
// Member initialization list
//cContribuinte::cContribuinte( long NrContrib ) : cPessoa("Carla Faria")  // EMENDAR o ERRO, FORÇAR a RESTRIÇÃO 
cContribuinte::cContribuinte( char *sNome, long NrContrib ) : cPessoa(sNome)  
{
	NrFiscal = NrContrib;
}
	

void cContribuinte::Escrever( ostream &out )
{
	//out << "Nome : " << Nome << endl;  FORÇAR ERRO : acesso privado
	cPessoa::Escrever( out );   // Mostrar a reutilização do código da classe base 
	out << "NrFiscal : " << NrFiscal << endl;

}


cAluno::cAluno( char *sNome, long NrContrib, int Num, char *sCurso ) 
				: cContribuinte( sNome, NrContrib )
{
	NrAluno = Num;
	strcpy( Curso, sCurso );
}


void cAluno::Escrever( ostream &out )
{
	cContribuinte::Escrever( out );  
	out << "Nr Aluno : " << NrAluno << "\tCurso : " << Curso << endl;

}


