Рубрики

C ++ | этот указатель | Вопрос 4

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

#include<iostream>

using namespace std;

  

class Test

{

private:

  int x;

  int y;

public:

  Test(int x = 0, int y = 0) { this->x = x; this->y = y; }

  static void fun1() { cout << "Inside fun1()"; }

  static void fun2() { cout << "Inside fun2()"; this->fun1(); }

};

  

int main()

{

  Test obj;

  obj.fun2();

  return 0;

}

(A) Внутри fun2 () Внутри fun1 ()
(B) Внутри fun2 ()
(C) Внутри fun1 () Внутри fun2 ()
(D) Ошибка компилятора

Ответ: (Д)
Объяснение: В fun2 () есть ошибка. Это статическая функция, которая пытается получить доступ к этому указателю.

этот указатель недоступен для статических функций-членов, так как статическая функция-член может вызываться без какого-либо объекта.
Тест на этот вопрос

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

C ++ | этот указатель | Вопрос 4

0.00 (0%) 0 votes