Рубрики

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

Каков вывод следующей программы?

#include <iostream>

using namespace std;

  

class Point

{

    int x, y;

public:

   Point(const Point &p) { x = p.x; y = p.y; }

   int getX() { return x; }

   int getY() { return y; }

};

  

int main()

{

    Point p1;

    Point p2 = p1;

    cout << "x = " << p2.getX() << " y = " << p2.getY();

    return 0;

}

(A) x = значение мусора y = значение мусора
(B) x = 0 y = 0
(C) Ошибка компилятора

Ответ: (с)
Объяснение: В строке «Точка p1;» есть ошибка компилятора. Класс Point не имеет конструктора без каких-либо параметров. Если мы напишем какой-либо конструктор, то компилятор не создаст конструктор по умолчанию .

В противном случае это не так, т. Е. Если мы пишем конструктор по умолчанию или параметризованный конструктор, компилятор создает конструктор копирования. Смотрите следующий вопрос.
Тест на этот вопрос

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

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

0.00 (0%) 0 votes