Buscar

[Prof. Emiliana]Correcao_Prova2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS EXATAS E BIOLÓGICAS
DEPARTAMENTO DE COMPUTAÇÃO
BCC702 - PROGRAMAÇÃO DE COMPUTADORES II
Correção Prova 2
Valor: 10 pontos
31/05/2010
1. {6.0 pts.} Considere o exemplo de polimorfismo a seguir:
(a) {1.0 pt.} Identifique a(s) classe(s) básica(s) e a(s) classe(s) derivada(s);
SOLUÇÃO:
Classe básica: Figura
Classes derivadas: Triangulo, Retangulo
(b) {1.0 pt.} A classe Figura é considerada uma classe abstrata. Por quê? Quais são
as particularidades de uma classe abstrata?
SOLUÇÃO:
A classe Figura é abstrata porque possui uma função virtual pura que é a função:
virtual void print() = 0;. Uma função virtual pura não possui implementação e
é especificada colocando-se �= 0� em sua declaração. As classes abstradas são nor-
malmente usadas como classes básicas em uma hierarquia de herança e não podem
ser utilizadas para instanciar objetos, pois elas são incompletas.
(c) {1.0 pt.} Mostre qual será a saída do programa;
SOLUÇÃO:
Triangulo com altura 6 e base 2
Retangulo com altura 10 e base 6
(d) {1.5 pts.} Considerando que cada figura tem uma área (triângulo: (base x altura)/2
quadrilátero: base x altura) implemente o método double area() para cada uma
das classes acima.
(e) {1.5 pts.}Modifique omain() do programa de tal forma a permitir ao usuário inserir
os dados de 10 figuras. Em seguida, as dimensões e a área de cada figura deverão ser
impressos na tela.
2. {4.0 pts.} A seguir é apresentada uma classe que representa uma carta do baralho.
Neste exemplo é considerado que as cartas do baralho são pontuadas de 1 (As) à 13 (Rei)
e os naipes variam de 1 à 4 (1-Ouros, 2-Paus, 3-Copas e 4-Espadas).
(a) {3.0 pts.} Crie um template de classe para representar uma Carta genérica
em que os tipos das variáveis pontuacao e naipe podem variar;
(b) {1.0 pt.} Utilizando o template de classe do item (a) faça um programa que cria dois
objetos do tipo Carta e, em seguida, imprime os dados dos objetos criados.
Carta 1
pontuação: 13 (inteiro)
naipe: 1 (inteiro)
Carta 2
pontuação: �Rei� (string)
naipe: �Ouros� (string)
OBSERVAÇÃO: As implementações estão como link na página.

Outros materiais