21xrx.com
2025-03-16 14:41:55 Sunday
文章检索 我的文章 写文章
C++中的this指针
2023-07-13 06:50:10 深夜i     11     0
C++ this指针 面向对象 成员函数

C++中的this指针是一个关键字,它指向当前对象的地址。在类的成员函数中,可以使用this指针来访问当前对象的成员变量和成员函数。它是一个隐式指针,不需要显式地声明,编译器会自动识别。

this指针主要用于处理同名变量的冲突问题。当类的成员变量和函数参数名相同时,可以使用this指针来区分,区别于函数的参数名。此外,在类的成员函数中,可以通过this指针来返回一个对象自身的引用,方便链式调用。

下面是一个使用this指针的示例代码:

class Person {
public:
  void setName(string name)
    this->name = name;
  
  void setAge(int age)
    this->age = age;
  
  void print() Age: " << this->age << endl;
  
private:
  string name;
  int age;
};
int main() {
  Person p;
  p.setName("Tom");
  p.setAge(18);
  p.print(); // 输出  "Name: Tom, Age: 18"
  return 0;
}

在上面的代码中,this->name表示访问当前对象的成员变量name,而不是函数的参数name。

此外,需要注意的是,this指针只能在类的成员函数中使用,不能在类的静态函数和全局函数中使用。因为静态函数没有this指针,而全局函数不属于任何对象。

总之,this指针是C++中很重要的一个关键字,用于指向当前对象的地址,方便访问当前对象的成员变量和成员函数,处理同名变量的冲突问题,以及方便链式调用。熟练掌握this指针的使用,是设计良好的C++程序的重要组成部分。

  
  

评论区

请求出错了