programa C ++ sobrecargar operador de incremento previo unario y proporcionar apoyo para el operador de asignación (=)

aprender: Cómo sobrecarga del operador de incremento previo unario en C ++ , que return un objeto de manera que podemos utilizar el operador de asignación (=) para almacenar el valor incrementado en el mismo.

Leer: la sobrecarga de operadores y sus reglas

Ya hemos discutido cómo la sobrecarga del operador de incremento previo en C ++? Pero ese programa no es compatible con el operador de asignación es decir if que queremos almacenar el valor del objeto incrementa en otro objeto, no podemos.

En este artículo vamos a entender, la forma de la sobrecarga de pre incremento del operador y proporcionar apoyo a “=” operador de asignación?

Por ejemplo:

S1 es objeto de muestra de clase entonces usamos como esto: S2 = ++ S1;

Para implementar la sobrecarga de operadores, tenemos que utilizar la palabra clave ‘operador’. Para asignar la tarea adicional para el operador, es necesario implementar una función. Esto proporcionará las instalaciones a las expresiones de escritura en la mayoría de forma natural.

Considere el programa:

using namespace std;
#include <iostream>
class Sample
{
//private data member
private:
int count;
public:
//default constructor
Sample()
{ count = 0;}
//parameterized constructor
Sample(int c)
{ count = c;}
//overloaded operator, returning an object
Sample operator++()
{
Sample temp;
temp.count = ++count;
return temp;
}
//printing the value
void printValue()
{
cout<<"Value of count : "<<count<<endl;
}
};
int main()
{
int i = 0;
//objects declarations
Sample S1(100), S2;
for(i=0; i< 5; i++)
{
//incrementing the object and assigning the value
//in another object
S2 = ++S1;
//printing the value of S1 object
cout<<"S1 :"<<endl;
S1.printValue();
//printing the value of S2 object
cout<<"S2 :"<<endl;
S2.printValue();
}
return 0;
}

salida

S1 :
Value of count : 101
S2 :
Value of count : 101
S1 :
Value of count : 102
S2 :
Value of count : 102
S1 :
Value of count : 103
S2 :
Value of count : 103
S1 :
Value of count : 104
S2 :
Value of count : 104
S1 :
Value of count : 105
S2 :
Value of count : 105

En este programa, hemos creado una clase llamada Muestra . Contiene el valor de un miembro de datos . Y hemos puesto en marcha una función de operador de sobrecarga de incremento previo con el apoyo de = (operador de asignación).

No podemos utilizar de incremento posterior con este método de sobrecarga de operadores.

Podemos usar declaración abajo también en el lugar de S2 = S1 ++ : S2 = S1.operator ++ ();


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *