Advertisement
Derga

Untitled

May 21st, 2023
944
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.28 KB | None | 0 0
  1. /*
  2. Билет 5
  3.   this
  4.  
  5. С помощью этого слова можно присваивать значения переменным внутри класса. Дальше пример
  6. */
  7.  
  8. class MyClass {
  9.     int x;
  10.  
  11.     void foo() {
  12.         x = 6;       //эти две строки делают одно и то же
  13.         this->x = 5;
  14.     }
  15.  
  16.     void foo() const {
  17.          x = 7; // тут ошибка, почему?
  18.     }
  19.  
  20.     void foo(int x) {// тут совпадает имя аргумента функции - x и поля класса x.
  21.         this->x = x; // использование this-> позволяет устранить неоднозначность
  22.     }
  23.  
  24.     MyClass& operator=(const MyClass& b) {
  25.         x = b.x;
  26.         return *this; // многе перегруженные операторы возвращают *this, например оператор копирующего присваивания
  27.         //Тут мы находимся внутри объекта класса MyClass, инициализируем его поле x и затем
  28.         //возвращаем разыменованный указатель на объект класса MyClass внутри которого мы находимся.
  29.     }
  30. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement