在c++中,this是一个指向当前对象的指针。它是一个隐含的指针,可以在类的成员函数中使用。
在类的成员函数内部使用this关键字时,它将指向调用该成员函数的对象的地址。通过this指针,可以访问对象的成员变量和成员函数。
使用this的示例代码如下,
class Point {
private:
int x;
int y;
public:
Point(int x, int y) {
this->x = x;
this->y = y;
}
void setCoordinates(int x, int y) {
this->x = x;
this->y = y;
}
int getX() const {
return this->x;
}
int getY() const {
return this->y;
}
void printCoordinates() const {
std::cout << "Coordinates: (" << this->x << ", " << this->y << ")" << std::endl;
}
};
int main() {
Point p1(2, 3);
p1.printCoordinates(); // 输出:Coordinates: (2, 3)
p1.setCoordinates(5, 7);
p1.printCoordinates(); // 输出:Coordinates: (5, 7)
std::cout << "X coordinate: " << p1.getX() << std::endl; // 输出:X coordinate: 5
std::cout << "Y coordinate: " << p1.getY() << std::endl; // 输出:Y coordinate: 7
return 0;
}
Point类表示一个二维坐标点,
随后构造函数使用this指针来区分成员变量x和y,
setCoordinates()函数使用this指针来设置对象的坐标,
getX()和getY()函数使用this指针返回对象的坐标,
printCoordinates()函数使用this指针打印对象的坐标。
通过使用this指针,我们可以在成员函数中访问对象的成员,避免命名冲突,并确保正确地引用当前对象。