C++ | Sobrecarga del operador | Pregunta 9

#include<iostream>
using namespace std;
  
class Point {
private:
  int x, y;
public:
  Point() : x(0), y(0) { }
  Point& operator()(int dx, int dy);
  void show() {cout << "x = " << x << ", y = " << y; }
};
  
Point& Point::operator()(int dx, int dy)
{
    x = dx;
    y = dy;
    return *this;
}
  
int main()
{
  Point pt;
  pt(3, 2);
  pt.show();
  return 0;
}

(A) x = 3, y = 2
(B) Error del compilador
(C) x = 2, y = 3

Respuesta: (A)
Explicación: Este es un ejemplo simple de sobrecarga del operador de llamada de función.

El operador de llamada de función, cuando está sobrecargado, no modifica cómo se llaman las funciones. Más bien, modifica cómo debe interpretarse el operador cuando se aplica a objetos de un tipo determinado.
Si sobrecarga un operador de llamada de función para una clase, su declaración tendrá la siguiente forma:

    return_type operator()(parameter_list) 

Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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