this指针
作用:指向当前函数所作用的对象
计算机编译C++程序时===C++程序到C程序的翻译
将C++的成员函数改写为C语言的全局函数,参数个数比C++多一个 *this,即局部函数所指向的对象
======C++==========
class CCar
{
public:
int price;
void SetPrice(int p);
};
void::SetPrice(int p)
{
price=p;
}
int main()
{
CCar car;
car.SetPrice(20000);//SetPrice作用的对象是car对象
return 0;
}
===========翻译成C语言程序===========
1.类翻译成结构体
struct CCar
{
int price;
};
2.局部函数翻译成全局函数,但是变量数多一个,即原来局部函数所作用的对象的指针
void SetPrice(struct CCar* this,int p)
{
this->price=p;
}
int mian()
{
struct CCar car;
SetPrice(&car,20000);
return 0;
}
习题
以下C+