Pregunta 1 · 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 1 (1 punt). Sobrecàrrega de l'operador > a la classe SuperHeroi

Incorporeu a la classe SuperHeroi la sobrecàrrega de l'operador de comparació major que ( >). El criteri d'ordre establert és el següent:

Primer es compara per la força.

Si tenen la mateixa força, es desempata per la velocitat.

Si la velocitat també coincideix, es compara pel nombre de vides.

Aquest operador s'haurà d'utilitzar en els exercicis posteriors sempre que calgui determinar quin superheroi precedeix o supera un altre.

Enunciado: Pregunta 1 · Metodologia de la Programació UAB 2018

Solución

Según los criterios oficiales de corrección

Incorporeu a la classe SuperHeroi la sobrecàrrega de l'operador de comparació major que ( > ).

Solución: ```cpp bool SuperHeroi::operator>(const SuperHeroi& altre) const { if (m_forca != altre.m_forca) return m_forca > altre.m_forca; if (m_velocitat != altre.m_velocitat) return m_velocitat > altre.m_velocitat; return m_vides > altre.m_vides; } ```

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.

‹ Exercici 2 · 2024 · Pregunta 2 · 2018 ›

Más ejercicios de Disseny de classes: declaració, const i sobrecàrrega d'operadors