Рубрики

C ++ | Конструкторы | Вопрос 9

Прогнозировать вывод следующей программы.

#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) Конструктор называется
(B) Пусто
(C) Ошибка компилятора
(D) Ошибка выполнения

Ответ: (Б)
Объяснение: В отличие от new, malloc () не вызывает конструктор (см. Это )

Если мы заменим malloc () на new, будет вызван конструктор, смотрите это .
Тест на этот вопрос

Рекомендуемые посты:

C ++ | Конструкторы | Вопрос 9

0.00 (0%) 0 votes