Heu de modificar la classe Cjt_estudiants afegint l’atribut privat imax que enregistra la posició de l’estudiant amb la nota màxima i modificant totes les funcions de la classe afectades pel nou atribut. Feu servir un valor especial d’imax, per exemple -1, per a quan cap estudiant tingui nota.
Posteriorment heu d’afegir dues noves operacions:
void Cjt_estudiants::esborrar_estudiant(int dni) /* Pre: existeix un estudiant al parametre implıcit amb DNI = dni */ /* Post: el parametre implıcit conte els mateixos estudiants que l’original menys l’estudiant amb DNI = dni */
Estudiant Cjt_estudiants::estudiant_nota_max( ) const /* Pre: el parametre implıcit conte almenys un estudiant amb nota */ /* Post: el resultat es l’estudiant del parametre implıcit amb nota maxima; si en te mes d’un, es el de DNI mes petit */
Observació Tingueu en compte que en els fitxers públics (icona del gatet) hi ha un fitxer Cjt_Estudiants.hh amb l’especificació de l’operació auxiliar privada recalcular_posicio_imax que heu de respectar. Assegureu-vos de fer servir recalcular_posicio_imax només quan sigui imprescindible, per guanyar eficiència.
Noteu que només heu d’enviar el fitxer Cjt_estudiants.cc, amb la implementació de la classe Cjt_estudiants. El Jutge comprova totes les accions i funcions de la classe, per tant, abans d’enviar la solució al Jutge, assegureu-vos que funcionen correctament.