C++ | Constructores | Pregunta 15

#include<iostream>
using namespace std;
   
class Test
{
public:
  Test();
};
   
Test::Test()  {
    cout << " Constructor Called. ";
}
   
void fun() {
  static Test t1;
}
   
int main() {
    cout << " Before fun() called. ";
    fun();
    fun();
    cout << " After fun() called. ";  
    return 0;
}

(A) Constructor Llamado. Antes de que fun() llamara. Después de que fun() llamó.
(B) Antes de que fun() llamara. Constructor llamado. Constructor llamado. Después de fun() llamó.
(C) Antes de que fun() llamara. Constructor llamado. Después de que fun() llamó.
(D) Constructor llamado. Constructor llamado. Después de llamar a fun(). Antes de llamar a fun().

Respuesta: (C)
Explicación: Observe que dentro de la función se declara fun()la variable . Por lo tanto, el constructor se llama solo una vez durante la vida útil del programa. Para obtener más información, consulte Palabra clave estática en C++ y lea la sección «Variables estáticas en una función». Cuestionario de esta preguntat1staticTest::Test

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 *