设为首页 加入收藏

TOP

13.2.3 this指针
2013-10-07 01:13:31 来源: 作者: 【 】 浏览:70
Tags:13.2.3 this 指针

13.2.3  this指针

this指针是指向调用成员函数的类对象的指针。在定义类对象时,每一个类对象都会拥有一份独立的非静态的数据成员,而共享同一份成员函数的备份。显然,这样做的好处是可以节约存储空间。但是,在程序运行过程中,类对象是如何将成员函数绑定到属于自己的数据成员上的呢?完成这项绑定任务的就是this指针。

【示例13-20】 给示例13-19增加copy()函数,演示this指针的使用方法。

  1. void student::copy(student & s)  
  2. {  
  3.     if (this==&s)       //this指向对象本身  
  4.     {  
  5.         cout<<"不能复制自身!"<<endl;  
  6.         return ;  
  7.     }  
  8.     else   
  9.     {  
  10.         id=s.id;        //也可以写成this->id=s.id  
  11.         name=s.name;  
  12.         chinese=s.chinese;  
  13.         english=s.english;  
  14.         math=s.math;  
  15.     }  

分析:该示例中给copy()函数传入了一个student对象的引用,然后通过this指针,将该引用与对象本身比较,从而限制不能自身到自身复制。当访问对象的成员,既可以直接访问,也可以用"this->成员名"的形式访问。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇13.5 常见问题及解答 下一篇13.2.2 对象的使用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: