Рубрики

Вывод программы C ++ | Комплект 5

Уровень сложности: Новичок

Прогнозировать выход программ C ++, указанных ниже.

Вопрос 1

#include<iostream>

using namespace std;

  

class Test {

    int value;

public:

    Test(int v);

};

  

Test::Test(int v) {

    value = v;

}

  

int main() {

    Test t[100];

    return 0;

}

Выход:

Compiler error

Класс Test имеет один определяемый пользователем конструктор «Test (int v)», который ожидает один аргумент. У него нет конструктора без аргументов, так как компилятор не создает конструктор по умолчанию, если пользователь определяет конструктор (см. Это ). Следующая модифицированная программа работает без каких-либо ошибок.

#include<iostream>

using namespace std;

  

class Test {

    int value;

public:

    Test(int v = 0);

};

  

Test::Test(int v) {

    value = v;

}

  

int main() {

    Test t[100];

    return 0;

}

вопрос 2

#include<iostream>

using namespace std;

int &fun() {

  static int a = 10;

  return a;

}

  

int main() {

  int &y = fun();

  y = y +30;

  cout<<fun();

  return 0;

}

Выход:

40

Программа работает нормально, потому что «а» является статическим. Так как «a» является статическим, расположение в памяти остается действительным даже после возврата fun (). Таким образом, ссылка на статическую переменную может быть возвращена.

Вопрос 3

#include<iostream>

using namespace std;

  

class Test

{

public:

  Test();

};

  
Test::Test()  {

    cout<<"Constructor Called \n";

}

  

int main()

{

    cout<<"Start \n";

    Test t1();

    cout<<"End \n";

    return 0;

}

Выход:

Start
End

Обратите внимание, что строка «Test t1 ();» не является вызовом конструктора. Компилятор рассматривает эту строку как объявление функции t1, которая не получает никакого параметра и возвращает объект типа Test.

Пожалуйста, напишите комментарии, если вы найдете какие-либо ответы / объяснения неправильными, или вы хотите поделиться дополнительной информацией по темам, обсужденным выше

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

Вывод программы C ++ | Комплект 5

0.00 (0%) 0 votes