Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Dado el siguiente diagrama, dena las clases que aparecen escribiendo exclusivamente los miembros imprescindibles para implementar las relaciones.
rel2 E
rel7
rel6
#include <set> class D; class A {}; class B: public A { public: void rel3(D& d); private: std::set<D> ds; }; class D { public: void rel3(B& b); private: B b; }; class C { D d; }; class E: public A {
public: void rel5(D& d); private: std::set<D> ds; }; class F: public C, public E {};
5,0 p
Cuntos atributos y cuntos mtodos tiene la clase D? a a e Tiene cuatro atributos y tres mtodos (explicar). e Hay algn miembro duplicado? u No (explicar). Cmo se accede a cada uno de los miembros? o D d; d.A::f(); d.B::f(); d.C::f(); A los atributos no se puede acceder desde fuera porque son privados. 2
Diga si hay ambigedades en la funcin main(). En tal caso, resulvalas. u o e No hay ambigedades u Diga si despus de resolver las ambigedades hay errores en la funcin main(). En tal caso, e u o elim nelos.
pruebaconerrores.cpp: In function int main(): pruebaconerrores.cpp:14: error: no match for operator= in d = * pa herencia.h:33: note: candidates are: D& D::operator=(const D&) 14 // d = pa;
1,0 p 0,5 p
Diga lo que imprimir el programa una vez subsanadas las ambigedades y dems errores. a u a
Constructor de X: Constructor de A Constructor de X: Constructor de B Constructor de X: Constructor de C Constructor de X: Constructor de D Mtodo f() de A e Mtodo f() de B e Mtodo f() de B e Mtodo f() de C e A por omisin o por omisin o D
2,0 p