13.2.3 this指针
this指针是指向调用成员函数的类对象的指针。在定义类对象时,每一个类对象都会拥有一份独立的非静态的数据成员,而共享同一份成员函数的备份。显然,这样做的好处是可以节约存储空间。但是,在程序运行过程中,类对象是如何将成员函数绑定到属于自己的数据成员上的呢?完成这项绑定任务的就是this指针。
【示例13-20】 给示例13-19增加copy()函数,演示this指针的使用方法。
- void student::copy(student & s)
- {
- if (this==&s)
- {
- cout<<"不能复制自身!"<<endl;
- return ;
- }
- else
- {
- id=s.id;
- name=s.name;
- chinese=s.chinese;
- english=s.english;
- math=s.math;
- }
- }
分析:该示例中给copy()函数传入了一个student对象的引用,然后通过this指针,将该引用与对象本身比较,从而限制不能自身到自身复制。当访问对象的成员,既可以直接访问,也可以用"this->成员名"的形式访问。
【责任编辑:
云霞 TEL:(010)68476606】