21xrx.com
2024-12-27 15:21:37 Friday
登录
文章检索 我的文章 写文章
C++中的this指针
2023-07-13 06:50:10 深夜i     --     --
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++程序的重要组成部分。

  
  

评论区

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