Buscar

[Prof. Emiliana] Aula Prática 7



Continue navegando


Prévia do material em texto

1 
UNIVERSIDADE FEDERAL DE OURO PRETO 
INSTITUTO DE CIÊNCIAS EXATAS E BIOLÓGICAS 
DEPARTAMENTO DE COMPUTAÇÃO 
BCC702 – PROGRAMAÇÃO DE COMPUTADORES II 
 
7a Aula prática de BCC702 – Programação Orientada a Objetos 
Polimorfismo 
 
O polimorfismo é crucial para a programação orientada a objetos. O termo 
polimorfismo é usado para descrever o processo pelo qual diferentes implementações de 
uma função podem ser acessadas usando o mesmo nome. O polimorfismo em C++ é 
obtido com classes derivadas e funções virtuais. 
 
1- Uma empresa de ônibus deseja informatizar seu sistema e registrar seus passageiros 
em cada viagem. Os passageiros podem ser de três tipos: regulares, que pagam a taxa 
inteira da viagem; estudantes, que pagam metade da taxa; e aposentados, que não pagam 
passagem. Dos passageiros regulares deseja-se armazenar apenas o nome. Dos 
estudantes deseja-se armazenar o nome e o RA (registro acadêmico). Dos aposentados 
deseja-se armazenar o nome e o RG. 
 
A seguir é apresentado um diagrama de classes do sistema. 
 
 
 
 
 
 
 2 
Na classe Passageiro e nas suas classes derivadas são implementados, além das funções 
construtoras e dos métodos gets e sets para seus atributos, os métodos: 
 
� calcPaga(taxa: double): Que recebe como parâmetro o preço da passagem 
cobrada no ônibus e retorna quanto o passageiro irá pagar conforme o seu tipo 
específico; 
� imprimir(): Que imprime os atributos de um passageiro conforme o seu tipo 
específico; 
 
Além de registrar os passageiros, o sistema deve permitir a realização de algumas 
operações (implementadas na classe Onibus), como: 
 
� imprimirPassageiros(): Gera relatório com todos os passageiros registrados no 
ônibus; 
� calcTotalArrecadado(): Retorna o valor total arrecadado com aquele ônibus; 
� addPassageiro(p: *Passageiro): Inclui passageiro passado como parâmetro no 
ônibus. 
 
 
2- Teste as classes implementadas fazendo um menu com as seguintes opções: 
 
1. Cadastrar nome do motorista; 
2. Cadastrar valor da passagem; 
3. Cadastrar passageiro; 
4. Mostrar todos passageiros; 
5. Mostrar total arrecadado; 
6. Sair.