Vejamos agora um pequeno exemplo de programa que utiliza Orientação a Objetos. Vamos criar a classe Pessoa da qual se derivarão as classes cliente e empregado. Depois instanciaremos cada uma destas classes filhas e as preencheremos e imprimeremos utilizando seus métodos.
#include<stdio.h>
#include<string.h>
class Pessoa {
private:
char Nome[31];
char CPF[12];
public:
void EntraNome (char *);
void EntraCPF (char *);
char * SaiNome(void);
char *SaiCPF(void);
virtual void ImprimeDados() =0;
};
class Cliente: public Pessoa{
private:
int NCadCliente;
public:
Cliente (char*, char*,int);
void ImprimeDados(void);
};
class Empregado: public Pessoa{
private:
int NCadEmpregado;
public:
Empregado (char*, char*,int);
void ImprimeDados(void);
};
void Pessoa::EntraNome(char *nome){
strcpy(Nome, nome);
}
void Pessoa::EntraCPF(char *cpf){
strcpy(CPF, cpf);
}
char * Pessoa::SaiNome(void){
return (Nome);
}
char * Pessoa::SaiCPF(void){
return (CPF);
}
Cliente::Cliente(char *nome, char *cpf, int codcli){
EntraNome(nome);
EntraCPF(cpf);
NCadCliente = codcli;
}
Empregado::Empregado(char *nome, char *cpf, int codemp){
EntraNome(nome);
EntraCPF(cpf);
NCadEmpregado = codemp;
}
void Cliente::ImprimeDados (void) {
printf("\nNome: %s\nCPF: %s\nCódigo: %d", SaiNome(), SaiCPF(), NCadCliente);
}
void Empregado::ImprimeDados (void){
printf("\nNome: %s\nCPF: %s\nCódigo: %d", SaiNome(), SaiCPF(), NCadEmpregado);
}
void main (void) {
Cliente cli1("José", "12345678910", 1);
Empregado emp1 ("Rita", "01987654321", 1);
cli1.ImprimeDados();
emp1.ImprimeDados();
}
Nenhum comentário:
Postar um comentário