Baixe o app para aproveitar ainda mais
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.
Compartilhar