21xrx.com
2024-11-25 09:14:10 Monday
登录
文章检索 我的文章 写文章
C++中this指针的使用方法
2023-06-24 03:25:42 深夜i     --     --
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指针,以免让代码过于冗长。

  
  

评论区

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