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