使用C++中This关键字的示例程序

使用C++中This关键字的示例程序

在这里,我们将看到如何使用C++程序中的this关键字来使用类。在C++中,this关键字是指向调用成员函数的类对象的隐式指针。每个对象都有自己的this指针。每个对象都可以使用 this 指针引用自身。

类中有4种方法可以使用此关键字:

  1. 使用此关键字解决阴影问题。
  2. 使用此关键字访问当前执行的对象。
  3. 使用此关键字访问数据成员。
  4. 使用此关键字调用成员函数。

让我们开始详细讨论这些不同的方式。

1.使用此关键字解决阴影问题

当存在与实例变量同名的局部变量时,将发生遮蔽。以下是使用C++程序解决遮蔽问题的方法:

 // C ++程序使用此关键字
//解决遮蔽问题
#include< iostream>
using namespace std;
  
GFG类
{
  字符串名称;
    
  公开:
  GFG(string name)
  {
    //使用this关键字初始化值
    //作为构造函数传递的参数
    //名称。
    this->name = name;
  }
  void display()
  {
    cout << name << endl; 
  }
};
  
//驱动程序代码
int main()
{
  GFG gfg(“GeeksforGeeks”);
  gfg.display();
  返回0;
} ```  

产量

 GeeksforGeeks

2.使用此关键字访问当前执行的对象

可以使用此关键字通过其成员函数链接函数和删除对象。

例1: 以下是使用此关键字使用其成员函数删除对象的C++程序。

 // C ++程序使用此关键字
//删除类的对象
#include&lt; iostream&gt;
using namespace std;
  
GFG类
{
  字符串名称;
    
  公开:
  GFG(string name)
  {
    //使用this关键字赋值
    //将类成员名称的值赋予
    //构造函数中传递的
    //参数名称。
    this->name = name;
  }
    
  void display()
  {
    cout << name << endl; 
  }
    
  void del()
  {
    //使用此关键字删除
    //对象
    删除这个;
  }
};
  
//驱动程序代码
int main()
{
  GFG * gfg = new GFG(“GeeksforGeeks”);
  gfg->display();
  gfg->del();
  返回0;
} ```  

产量

 GeeksforGeeks

Example 2: 以下是使用此关键字访问当前执行的对象链接函数调用的C++程序:

 // C ++程序使用此关键字
//访问当前执行的对象
//链接函数调用:
#include&lt; iostream&gt;
using namespace std;
  
类GFG
{
  字符串名称;
  int data;
    
  公开:
  GFG setName(string name)
  {
    this->name = name;
    返回* this;
  }
    
  GFG setData(int data)
  {
    this->data = data;
    返回* this;
  }
    
  void display()
  {
    cout << name << endl; 
    cout << data << endl; 
  }
};
  
//驱动程序代码
int main()
{
  //创建对象
  GFG gfg;
    
  //链接函数调用
  gfg = gfg.setName(“GeeksforGeeks”)。setData(20);
    
  gfg.display();
  返回0;
} ```  

产量

 GeeksforGeeks
20

3.使用此关键字访问数据成员

下面是使用 C++ 程序使用 this 关键字访问当前执行对象的数据成员的代码:

// Below is the C++ program to use
// this keyword to access the data 
// members of currently executing 
// object
#include <iostream>
using namespace std;
  
class GFG 
{
  string name;
    
  public:
  GFG(string name)
  {
    // Initialize value of class member 
    // name as the parameter name passed 
    // in the constructor.
    this->name = name;
  }
    
  void display()
  {
    // Accesses string data member name
    cout << this->name << endl;
  }
};
  
// Driver code
int main()
{
  GFG gfg("GeeksforGeeks");
  gfg.display();
  return 0;
}  

输出

GeeksforGeeks

4. 使用 this 关键字调用成员函数

下面是使用 C++ 程序使用 this 关键字调用与当前执行对象关联的成员函数的代码:

// C++ program to use this keyword
// to call member functions of currently 
// executing objects
#include <iostream>
using namespace std;
  
class GFG 
{
  string name;
    
  public:
  GFG(string name)
  {
    // Initialize value of class member 
    // name as the parameter name passed 
    // in the constructor.
    this->name = name;
  }
    
  void displayX(int);
  void display();
};
    
void GFG :: displayX(int x)
{
  for (int i = 0; i < x; i++) 
  {
    // Access member functions of currently
    // executing object
    this->display();
  }
}
    
void GFG :: display()
{
  // Accesses string data member name
  cout << this->name << endl;
}
  
// Driver code
int main()
{
  GFG gfg("GeeksforGeeks");
  gfg.displayX(4);
  return 0;
}  

输出

GeeksforGeeks
GeeksforGeeks
GeeksforGeeks
GeeksforGeeks

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 示例