C++/Language/this — различия между версиями

Материал из C\C++ эксперт
Перейти к: навигация, поиск
м (1 версия: Импорт контента...)
 
(нет различий)

Версия 14:21, 25 мая 2010

The this Pointer

#include <iostream>
using namespace std;
class Power {
  double b;
  int e;
  double val;
public:
  Power(double base, int exp);
  double getPower() { 
     return val; 
  }
};
Power::Power(double base, int exp)
{
  b = base;
  e = exp;
  val = 1;
  if(exp==0) 
     return;
  for( ; exp>0; exp--) 
     val = val * b;
}
int main()
{
  Power x(4.0, 2), y(2.5, 1), z(5.7, 0);
  cout << x.getPower() << " ";
  cout << y.getPower() << " ";
  cout << z.getPower() << "\n";
  return 0;
}


Use "this" pointer.

#include <iostream>
using namespace std;
class myclass {
  int a, b;
public: 
  myclass(int n, int m) { 
     this->a = n; 
     this->b = m; 
  }
  int add() { 
     return this->a + this->b; 
  }
  void show();
};
void myclass::show()
{
  int t;
  t = this->add(); // call member function
  cout << t << endl;
}
int main()
{
  myclass ob(10, 14);
  ob.show();
  return 0;
}