21xrx.com
2025-07-04 07:45:07 Friday
登录
文章检索 我的文章 写文章
C++中this指针的使用方法
2023-06-24 03:25:42 深夜i     17     0
C++ this指针 使用方法

C++中的this指针是一个关键字,代表当前对象指针的地址。也就是说,如果一个类有多个对象,那么每个对象都有自己的this指针。

使用this指针可以解决两个问题:

1. 同名变量的区分

在C++中,当一个成员变量和一个局部变量同名时,编译器默认使用局部变量。但是,有时候我们需要使用成员变量,这时候就可以使用this指针来区分。例如:

class Person {
public:
  string name;
  void setName(string name)
    this->name = name;
  
};
Person p1, p2;
p1.setName("Tom");
p2.setName("Jerry");
cout << p1.name << endl; // 输出Tom
cout << p2.name << endl; // 输出Jerry

在setName方法中,参数name与成员变量name同名,使用this指针可以强制使用成员变量name。

2. 实现对象间的交互

在一个对象的方法中,可以通过参数传递另一个对象的指针,但是这种方式比较麻烦。使用this指针可以在对象间直接交互,代码更加简洁。例如:

class Person {
public:
  string name;
  void sayHello() my name is " << this->name << endl;
  
};
Person p1, p2;
p1.name = "Tom";
p2.name = "Jerry";
p1.sayHello(); // 输出Hello, my name is Tom
p2.sayHello(); // 输出Hello, my name is Jerry

在sayHello方法中,使用this指针可以直接访问当前对象的成员变量name,从而实现对象间交互。

总之,使用this指针可以有效地解决同名变量的区分和对象间的交互问题,使代码更加简洁、清晰。但是,需要注意的是,如果没有必要,还是不要过度使用this指针,以免让代码过于冗长。

  
  

评论区