C++ | este puntero | Pregunta 4

Predecir la salida del siguiente programa C++

#include<iostream>
using namespace std;
  
class Test
{
private:
  int x;
  int y;
public:
  Test(int x = 0, int y = 0) { this->x = x; this->y = y; }
  static void fun1() { cout << "Inside fun1()"; }
  static void fun2() { cout << "Inside fun2()"; this->fun1(); }
};
  
int main()
{
  Test obj;
  obj.fun2();
  return 0;
}

(A) Dentro de fun2() Dentro de fun1()
(B) Dentro de fun2()
(C) Dentro de fun1() Dentro de fun2()
(D) Error del compilador

Respuesta: (D)
Explicación: Hay un error en fun2(). Es una función estática e intenta acceder a este puntero.

este puntero no está disponible para las funciones de miembro estático, ya que se puede llamar a la función de miembro estático sin ningún objeto.
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 *