Returning the dereferenced this pointer : this « Class « C++ Tutorial






#include <iostream>
 
 class MyType
 {
 public:
     MyType();
     ~MyType(){}
     int getValue()const { 
        return myValue; 
     }
     void setValue(int x) {
        myValue = x; 
     }
     const MyType& operator++ ();      // prefix
     const MyType operator++ (int);    // postfix
 
 private:
     int myValue;
 };
 
 MyType::MyType(): myValue(0) {}
 
 const MyType& MyType::operator++()
 {
     ++myValue;
     return *this;
 }
 
 const MyType MyType::operator++(int)
 {
     MyType temp(*this);
     ++myValue;
     return temp;
 }
 
 int main()
 {
     MyType i;
     std::cout << "The value of i is " << i.getValue() << std::endl;
     i++;
     std::cout << "The value of i is " << i.getValue() << std::endl;
     ++i;
     std::cout << "The value of i is " << i.getValue() << std::endl;
     MyType a = ++i;
     std::cout << "The value of a: " << a.getValue();
     std::cout << " and i: " << i.getValue() << std::endl;
     a = i++;
     std::cout << "The value of a: " << a.getValue();
     std::cout << " and i: " << i.getValue() << std::endl;
     return 0;
 }
The value of i is 0
The value of i is 1
The value of i is 2
The value of a: 3 and i: 3
The value of a: 3 and i: 4








9.27.this
9.27.1.Use the 'this' pointer.
9.27.2.Using the this pointer
9.27.3.Returning the dereferenced this pointer
9.27.4.Cascading member function calls with the this pointer