Professional Documents
Culture Documents
Matrcula
Nome
Nota
IMPORTANTE: Esta a Parte II (Prova Prtica) do exerccio parcial do Mdulo II. As questes j
esto com os valores ajustados para que o total da prova na nota global valha 6,0.
O exerccio DEVE ser executado individualmente em 120 minutos.
i) Executar o cdigo e explicar, a partir de um comentrio objetivo, mas esclarecedor (que deve
ser inserido ao final do programa), o resultado de sua execuo.
ii) Alterar o cdigo a fim de EVITAR o efeito observado no item i), comentando, na(s) linha(s)
alteradas, o papel da(s) alterao(es) na execuo do cdigo alterado.
2. No tocante ao trecho de cdigo a seguir: 0,85
#include <iostream>
using namespace std;
class Abstrata {
public:
virtual ~Abstrata() { }
virtual void setValor(int i) = 0;
virtual int getValor(void) = 0;
};
class Derivada : public virtual Abstrata {
public:
~Derivada() { }
void setValor(int i) { Valor = i; }
int getValue(void) { return Valor; }
void impValor(void) { std::cout << "Derivada::impValor(): O valor eh "
<< Valor << std::endl; }
private:
int Valor;
};
void impValor1(Abstrata* v) { std::cout << "impValor1(): O valor eh " << v
->getValor() << std::endl; }
void impValor2(Abstrata* v) {
Derivada* d = v;
d->impValor();
}
int main() {
Derivada d;
Abstrata* v = &d;
v->setValor(1);
impValor1(v);
impValor2(v);
return 0;
}
SUCESSO!