21xrx.com
2024-12-23 00:18:33 Monday
登录
文章检索 我的文章 写文章
如何在C++中使用*this指针
2023-06-22 12:13:58 深夜i     --     --
C++ this指针 使用 对象 成员函数

*this指针是C++中常用的指针之一,它可以用于访问当前对象的成员变量和成员函数。在本文中,我们将讨论如何在C++中使用*this指针。

首先,我们需要了解*this指针的含义。在C++中,每个对象都有一个指向自己的指针,称为this指针。我们可以使用this指针访问当前对象的成员变量和成员函数。*this指针是this指针的解引用,它指向当前对象本身。

使用*this指针可以使我们更方便地访问当前对象的成员变量和成员函数,特别是在成员函数中使用*this指针更是必不可少的。

下面是一个简单的示例程序,演示了如何在C++中使用*this指针:


#include <iostream>

using namespace std;

class MyClass {

public:

 int x;

 MyClass(int a) x = a;

 void printX() cout << "x = " << x << endl;

 void printThis() cout << "this = " << this << endl;

 void setX(int a) x = a;

 void setXTo10() this->x = 10;

};

int main() {

 MyClass mc1(5);

 MyClass mc2(10);

 cout << "mc1:" << endl;

 mc1.printThis(); // 打印mc1的地址

 mc1.printX(); // 打印mc1的x值

 cout << endl;

 cout << "mc2:" << endl;

 mc2.printThis(); // 打印mc2的地址

 mc2.printX(); // 打印mc2的x值

 cout << endl;

 cout << "set x to 20:" << endl;

 mc1.setX(20); // 设置mc1的x值为20

 mc1.printX();

 cout << endl;

 cout << "set x to 10:" << endl;

 mc1.setXTo10(); // 使用this指针设置mc1的x值为10

 mc1.printX();

 return 0;

}

在上面的示例程序中,我们定义了一个名为MyClass的类,并在其中定义了四个成员函数printX、printThis、setX和setXTo10。在这些成员函数中,我们都使用了*this指针来访问对象的成员变量和成员函数。

在main函数中,我们创建了两个MyClass对象mc1和mc2,并对它们的成员变量和成员函数进行了调用。我们可以看到,使用*this指针可以使我们更方便地访问当前对象的成员变量和成员函数,不用再使用对象名来访问。

总的来说,*this指针是C++中非常有用的指针,可以使我们更方便地访问当前对象的成员变量和成员函数。在程序设计过程中,我们应该合理利用*this指针,使程序更加简洁高效。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复