this指针

原创 2013年12月02日 19:33:55

在对象的外部访问该对象的公有成员时,必须指明是哪一个对象,然后去找这个对象对象的公有成员。

在使用对象的成员函数来访问本对象成员时,只有在成员函数中给出成员名,就可以对该对象的成员访问。

但是当我们用同一个类创建多个对象的时候,他们是共同使用同一份成员函数的,在这种情况下,成员函数怎么去辨认成员是属于哪一个对象的呢?

这时我们就引入了“this”指针。当调用类的某个非静态的成员函数时,系统就会自动产生一个隐藏的“this”指针,且这个指针始终都指向正在调用这个成员函数的对象。这样指针就作为一个参数自动传递给成员函数。



this指针是一个特殊的指针,他只在成员函数中使用。

例子:

 QCManager::QCManager(int noOfQC)

{

       this->QC = noOfQC;

       QC = noOfQC;

        (*this).QC = noOfQC;

}

上面的三句是等价的,只是写法不同。


举个形象的例子:我们把人当做是一个类,然后对象是你,我,他。我们会讲不同的话,那么怎么知道这句话是他讲的呢?就需要this指针来帮助我们。



c++之this指针详解

1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动...
  • qq_35644234
  • qq_35644234
  • 2016年09月22日 15:33
  • 551

C++中this指针的本质

一直以来对C++中的this不理解,只知道在构造函数中,如果构造函数的参数和类成员的名字一样的话,就可以用this指针来区分,如:this->a = a;一直以来都有这个疑问:this究竟是什么?我们...
  • u011943221
  • u011943221
  • 2015年08月13日 19:35
  • 835

C++ class 中隐含的this指针

this指针只能在一个类的成员函数中调用,它表示当前对象的地址。下面是一个例子:       void Date::setMonth( int mn )       {        month = ...
  • u012943597
  • u012943597
  • 2013年11月29日 18:23
  • 1919

JS中的this指针详解

原文地址:http://www.cnblogs.com/kongxy/p/4581223.html (内容根据自己理解,有改动)         JS中this关键字很常见,但是它似乎变幻莫测,让人抓...
  • qq846294282
  • qq846294282
  • 2017年03月05日 21:22
  • 424

c++中this指针的用法详解

为什么引入this指针?     最简单的应用场景就是:当我们在类中定义了一个变量,同时在类成员函数中定义了同一变量时,也就是说变量名重复时,但是我们想使用类中定义的变量,这个时候我们该怎么办呢?这个...
  • u011939264
  • u011939264
  • 2016年05月31日 11:15
  • 4421

C++中关于this指针、static等内容的探究

This指针 有时候方法涉及到两个对象,在这种情况下,需要用到c++中的this指针; 1.指向当前对象,可以访问当前对象的所有成员. 2.在类内部可以访问所有成员 3.this只能在非静态成员函数内...
  • qq_23215649
  • qq_23215649
  • 2017年01月18日 10:53
  • 235

this指针指向当前调用对象,只是用于类的非静态成员函数。静态函数和全局函数 无当前对象,无this指针。

void Date::setMonth( int mn ) {      month = mn; // 这三句是等价的      this->month = mn;      (*this).mo...
  • hzw05103020
  • hzw05103020
  • 2016年03月02日 23:06
  • 1991

C++中this指针的作用以及用法详解

为什么引用this指针? 当我们在类中定义了一个变量,同时又在类成员函数中定义了同一个变量时,也就是变量名重复时,但是我们要想使用类中的定义的变量,此时就需要this指针了。 1.this指针的作...
  • qq_35420908
  • qq_35420908
  • 2016年10月11日 22:10
  • 2329

C++中this指针的用法详解 http://blog.chinaunix.net/uid-21411227-id-1826942.html

C++中this指针的用法详解 2010-11-12 20:40:45 分类: C/C++   1. this指针的用处:   一个对象的this指针并不是对象本身的一部分...
  • wangyin159
  • wangyin159
  • 2016年03月09日 19:00
  • 546

对 this 指针的理解和作用

this指针只能在一个类的成员函数中调用,它表示的是当前对象的地址。 1. this只能在成员函数中使用。 全局函数,静态函数都不能使用this。 实际上,成员函数默认第一个参数为T* cons...
  • Number_0_0
  • Number_0_0
  • 2016年10月11日 22:16
  • 1761
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:this指针
举报原因:
原因补充:

(最多只允许输入30个字)