C++ | Constructores | Pregunta 9

Prediga la salida del siguiente programa.

#include<iostream>
#include<stdlib.h>
using namespace std;
  
class Test
{
public:
   Test()
   { cout << "Constructor called"; }
};
  
int main()
{
    Test *t = (Test *) malloc(sizeof(Test));
    return 0;
}

(A) Constructor llamado
(B) Vacío
(C) Error del compilador
(D) Error de tiempo de ejecución

Respuesta: (B)
Explicación: A diferencia de new, malloc() no llama al constructor (Ver esto )

Si reemplazamos malloc() con new, se llama al constructor, vea this .
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 *