#include<iostream>
class Point
{
public:
int x,y;
Point(int a,int b);
~Point();
void movepoint(int x,int y);
};
void Point::movepoint(int x,int y)//对于point对象调用函数时,就将point对象的地址
传给了this指针,函数原型其实是void 函数名(Point *this,inta,intb)
///this指针这个参数在类中是隐含的,所以平时不显示
{
this->x = x;//碰到这种形参与实参符号相等时,可以通过this指针告诉编译器
//谁是类里面的属性,谁是形参
this->y = y;
}
Point::Point(int a,int b)
{
x=a;
y=b;
}
Point::~Point ()
{}
int main()
{
Point point(10,10);
std::cout<<point.x <<","<<point.y<<'\n';
point.movepoint(5,5);
std::cout<<point.x <<","<<point.y<<'\n';
}
以上代码为例子
this指针的用途:在一个类中,函数的形参符号与类定义的属性符号相同时,this指针可以 使编译器知道谁是形参,谁是类里面的属性。(在c++中,定义类里面的函数时不会显示this指针这一参数,但是实际上存在)
在通过一个对象调用其函数时,this指针就指向了该对象。