【酷游地址】C++之this指标∨鄋NAY3989

打印 上一主题 下一主题

主题 1015|帖子 1015|积分 3045

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
成员函数中可以直接存取其他成员,例如以下的do_something(),a与b为两个资料成员
  1. int do_something() {
  2.     return a + b;
  3. }
复制代码
这种写法指是种轻便的方式,实在编译器会主动填入this 指标(pointer) ,如下
  1. int do_something() {
  2.     return this->a + this->b;
  3. }
复制代码
this指标用来存取类别中的成员,明白利用this指标也不必担心成员函数的参数名称是否与变数成员雷同,举例如下
  1. #include <iostream>
  2.   
  3. class Demo {
  4. public:
  5.     Demo(int a, int b) {
  6.         this->a = a;
  7.         this->b = b;
  8.     }
  9.    
  10.     int do_something() {
  11.         return this->a + this->b;
  12.     }
  13.    
  14. private:
  15.     int a;
  16.     int b;
  17. };
  18. int main() {
  19.     Demo d(22, 60);
  20.     std::cout << d.do_something() << std::endl;
  21.    
  22.     return 0;
  23. }
复制代码
建构函数 Demo()的参数a与b与资料成员a与b有雷同的名称,由于明白利用this指标,以是可以区分哪个a与b是参数,另一个a与b则是资料成员
  1. Demo(int a, int b) {
  2.     this->a = a;
  3.     this->b = b;
  4. }
复制代码
编译实行,效果如下
  1. $ g++ u0907.cpp
  2. $./a.out 复制代码
  3. 82
  4. $
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

民工心事

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表