Pregunta 2 · Metodologia de la Programació UAB 2018
Tema: Disseny de classes: declaració, const i sobrecàrrega d'operadors · Del examen Examen Primer Parcial Curs 2018-2019 (2018)
Enunciado
Context
Aquest examen avalua els conceptes de disseny orientat a objectes en C++ mitjançant la creació i gestió d'una lliga de fins a 20 superherois. Es parteix de la declaració bàsica de la classe SuperHeroi:
class SuperHeroi
{
public:
SuperHeroi();
void setNom(string nom) { m_nom = nom; }
void setVelocitat(int velocitat) { m_velocitat = velocitat; }
void setPoder(const string& poder) { m_poder = poder; }
void setVida(int vida) { m_vides = vida; }
void setForca(int forca) { m_forca = forca; }
string getNom() const { return m_nom; }
int getVelocitat() const { return m_velocitat; }
int getVides() const { return m_vides; }
string getPoder() const { return m_poder; }
int getForca() const { return m_forca; }
private:
string m_nom;
int m_velocitat;
string m_poder;
int m_vides;
int m_forca;
};
Pregunta 2 (1 punt). Declaració de la classe LligaSuperHerois
Realitzeu la declaració completa de la classe LligaSuperHerois en C++. Heu d'indicar:
Tots els atributs privats necessaris per emmagatzemar un màxim de 20 superherois i el nombre actual d'elements continguts.
La capçalera de tots els mètodes requerits per a la interfície pública: constructor per defecte i amb array, lectura des de fitxer, cerca per nom, inserció ordenada, eliminació per nom, enfrontament segons criteri i escriptura a fitxer.
L'ús correcte del qualificador const tant en els paràmetres com en els mètodes que no modifiquin l'estat intern de l'objecte.

Solución
Según los criterios oficiales de corrección
Realitzeu la declaració completa de la classe LligaSuperHerois en C++.
Solución: ```cpp const int MAX_SUPERHEROIS = 20; class LligaSuperHerois { public: LligaSuperHerois(); LligaSuperHerois(const SuperHeroi llista[], int nElements); bool carregarDeFitxer(const string& nomFitxer); int cercarSuperHeroi(const string& nom) const; bool afegirSuperHeroi(const SuperHeroi& sh); bool esborrarSuperHeroi(const string& nom); string enfrontar(const string& nom1, const string& nom2, const string& criteri); bool desarAFitxer(const string& nomFitxer) const; private: SuperHeroi m_superherois[MAX_SUPERHEROIS]; int m_nSuperherois; }; ```
La explicación paso a paso, hecha con IA, es Premium. Premium
Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.
‹ Pregunta 1 · 2018 · Exercici 1 · 2017 ›