Рубрики

C ++ | новое и удалить | Вопрос 3

Предсказать выход?

#include <iostream>

using namespace std;

  

class Test 

{

  int x;

  Test() { x = 5;}

};

  

int main()

{

   Test *t = new Test;

   cout << t->x;

}

(A) Ошибка компилятора
(Б) 5
(C) стоимость мусора
(D) 0

Ответ: (А)
Объяснение: Произошла ошибка компилятора: Test :: Test () является закрытым.

new делает вызов конструктору. В классе Test конструктор является закрытым (обратите внимание, что доступ по умолчанию является закрытым в C ++).

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

C ++ | новое и удалить | Вопрос 3

0.00 (0%) 0 votes