PUCRS
Faculdade de Informática
Programação em C/C++
Exercício sobre Polimorfismo
1. Um banco trabalha com três tipos de contas:
* conta corrente comum;
* conta corrente com limite;
* conta poupança.
Em todos os casos é necessário guardar o número da
conta, o nome
do correntista e o saldo.
Para a conta poupança é necessário guardar o dia
do aniversário
da conta (quando são creditados os juros).
Já para a conta com limite é necessário guardar o
valor do limite.
As contas também armazenam uma lista de
transações. Uma transação
é definida por uma data, valor da transação e
descrição. Se o
valor for negativo, a transação é considerada um
débito (crédito
caso contrário).
As operações possíveis são:
depósito, retirada e impressão de
extrato. Essas operações devem ser definidas numa classe
abstrata
pura (interface) denominada Conta.
A operação de depósito é igual nos
três tipos de conta.
A retirada só é diferente na conta com limite, pois esta
admite
que o saldo fique negativo até o limite estabelecido.
Finalmente o extrato é diferente para as três:
* na conta comum exibe o número da conta, nome do cliente,
transações e o saldo;
* na conta limite imprime também o valor do limite;
* na conta poupança imprime também o dia do
aniversário.
Implemente a hierarquia de classes das contas explorando
polimorfismo.
2. Faça um programa em C++ que permita ao usuário fazer
depósitos,
retiradas e verificação de extrato nas suas contas a
partir do
número da conta. Utilize uma única coleção
(list ou vector) para
armazenar todos os tipos de contas.
-----------------
FIM