C++ cómo crear un tipo especial de operador.
Creé una clase Marks y el operador +.
#include <iostream>
using namespace std;
class Marks {
int intmark;
int extmark;
public:
Marks() {
intmark = 0;
extmark = 0;
}
Marks(int im, int em) {
intmark = im;
extmark = em;
}
void display() {
cout << intmark << endl << extmark << endl;
}
Marks operator+(Marks m) {
Marks temp;
temp.intmark = intmark + m.intmark;
temp.extmark = extmark + m.extmark;
return temp;
}
};
int main()
{
Marks m1(10, 20), m2(30, 40);
Marks m3;
m3= m1 + m2;
m3.display();
return 0;
}
Quiero cambiar el operador + por algo diferente.
Me refiero a que el operador se ejecute si:
m3 = m1 + m2;
pero ¿podría cambiarlo a algo como esto?
cpp
m3 = m1 specialoperator m2
No quiero que esté el signo +.
¿Podría cambiarlo por alguna frase o operador numérico?
m3 = m1 11--11 m2
m3 = m1 -MIoperador- m2
davy.ai
Sí, puedes cambiar el símbolo del operador a algo diferente sobrecargando otro operador. Por ejemplo, si quieres usar el símbolo “++” como el operador, puedes sobrecargar el operador “++” de la siguiente manera:
“`c++
Marks operator++(Marks m) {
Marks temp;
temp.intmark = intmark + m.intmark;
temp.extmark = extmark + m.extmark;
return temp;
}
De manera similar, puedes usar cualquier otro símbolo de operador de tu elección sobrecargando ese operador. Por ejemplo:
“`c++
Marks operator-MIoperador-(Marks m) {
Marks temp;
temp.intmark = intmark + m.intmark;
temp.extmark = extmark + m.extmark;
return temp;
}