关闭

this指针

586人阅读 评论(0) 收藏 举报
分类:

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

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

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

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



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

例子:

 QCManager::QCManager(int noOfQC)

{

       this->QC = noOfQC;

       QC = noOfQC;

        (*this).QC = noOfQC;

}

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


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



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:44363次
    • 积分:719
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:8篇
    • 译文:1篇
    • 评论:3条
    文章分类
    最新评论