C++ this 指针

c++ this 指针

c++ 类和对象c++ 类和对象

在 c++ 中,每一个对象都能通过 this 指针来访问自己的地址。this 指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。

友元函数没有 this 指针,因为友元不是类的成员。只有成员函数才有 this 指针。

下面的实例有助于更好地理解 this 指针的概念:

#include <iostream>
 
using namespace std;

class box
{
   public:
      // 构造函数定义
      box(double l=2.0, double b=2.0, double h=2.0)
      {
         cout <<"constructor called." << endl;
         length = l;
         breadth = b;
         height = h;
      }
      double volume()
      {
         return length * breadth * height;
      }
      int compare(box box)
      {
         return this->volume() > box.volume();
      }
   private:
      double length;     // length of a box
      double breadth;    // breadth of a box
      double height;     // height of a box
};

int main(void)
{
   box box1(3.3, 1.2, 1.5);    // declare box1
   box box2(8.5, 6.0, 2.0);    // declare box2

   if(box1.compare(box2))
   {
      cout << "box2 is smaller than box1" <<endl;
   }
   else
   {
      cout << "box2 is equal to or larger than box1" <<endl;
   }
   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

constructor called.
constructor called.
box2 is equal to or larger than box1

c++ 类和对象c++ 类和对象

下一节:c++ 指向类的指针

c++ 简介

相关文章
C++基础