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