Рубрики

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

Какая польза от этого указателя?
(A) Когда имя локальной переменной совпадает с именем члена, мы можем получить доступ к члену, используя этот указатель.
(B) Чтобы вернуть ссылку на вызывающий объект
(C) Может использоваться для вызовов функции в цепочке объекта
(D) Все вышеперечисленное

Ответ: (Д)
Объяснение: См. Следующий пример для первого использования.

/* local variable is same as a member's name */
class Test
{
private:
   int x;
public:
   void setX (int x)
   {
       // The 'this' pointer is used to retrieve the object's x
       // hidden by the local variable 'x'
       this->x = x;
   }
   void print() { cout << "x = " << x << endl; }
};

И следующий пример для второго и третьего пункта.

#include
using namespace std;
 
class Test
{
private:
  int x;
  int y;
public:
  Test(int x = 0, int y = 0) { this->x = x; this->y = y; }
  Test &setX(int a) { x = a; return *this; }
  Test &setY(int b) { y = b; return *this; }
  void print() { cout << "x = " << x << " y = " << y << endl; }
};
 
int main()
{
  Test obj1(5, 5);
 
  // Chained function calls.  All calls modify the same object
  // as the same object is returned by reference
  obj1.setX(10).setY(20);
 
  obj1.print();
  return 0;
}

Тест на этот вопрос

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

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

0.00 (0%) 0 votes