C++ this指针的理解和作用.docx
《C++ this指针的理解和作用.docx》由会员分享,可在线阅读,更多相关《C++ this指针的理解和作用.docx(7页珍藏版)》请在第壹文秘上搜索。
1、this指针概念在C+中,this指针是一个指向当前对象的指针。它是一个隐式参数,在成员函数内部自动被传递,以便访问该对象的成员变量和成员函数。本文将介绍this指针的概念、用法和注意事项。概念this指针是一个指向当前对象的指针。它是一个内置的指针类型,可以在类的成员函数中使用。当调用一个成员函数时,编译器会将当前对象的地址作为this指针传递给该函数。因此,通过this指针可以访问当前对象的成员变量和成员函数。用法this指针可以用于以下几种情况:区分局部变量和成员变量当成员变量和局部变量同名时,可以使用this指针来区分它们。通过this指针访问成员变量,可以确保访问的是当前对象的成员变
2、量,而不是局部变量。classMyClasspublic:voidsetX(intx)this-x=x;Jprivate:intx;J;intmain()MyClassobj;obj.setX(10);return0;)上面的代码定义了一个类MyClass,其中有一个成员变量X和一个成员函数setX。在SetX函数中,使用this指针来访问成员变量X,并将其设置为参数X的值。在main函数中创建了一个MyCIass对象obj,并调用了SetX函数来设置X的值为10。在一个对象的成员函数中返回对象本身在一个对象的成员函数中返回对象本身时,可以使用this指针来返回当前对象的地址。这样可以实现链式
3、调用。classMyClasspublic:MyClass&setX(intx)this-x=x;return*this;private:intx;);intmain()MyClassobj;obj.setX(10).setX(20);return0;)上面的代码定义了一个类MyClass,其中有一个成员变量X和一个成员函数setX。在SetX函数中,使用this指针来返回当前对象的地址,并实现链式调用。在main函数中创建了一个MyCIass对象obj,并使用链式调用两次调用SetX函数来设置X的值为10和20。注意事项this指针只能在成员函数中使用。在非成员函数中使用this指针会导致编
4、译错误。this指针是一个常量指针,不能被修改。如果试图修改this指针的值,会导致编译错误。this指针是一个隐式参数,不需要在函数调用时显式传递。因此,在调用成员函数时,不需要在参数列表中包含this指针。this指针可以用于访问当前对象的成员变量和成员函数。如果成员函数需要访问多个对象的成员变量,可以使用多个this指针来传递不同的对象地址。总结this指针是一个指向当前对象的指针,在成员函数内部自动被传递。它可以用于区分局部变量和成员变量,返回对象本身,访问当前对象的成员变量和成员函数等。但是需要注意,this指针只能在成员函数中使用,是一个常量指针,不需要显式传递,不能被修改。C+程
5、序到C程序的翻译要想理解C+的this指针,我们可以先把下面的C+代码转换成C代码:classCarpublic:intm-price;voidSetPrice(intp)/.,price=p;/将/人的Carr.,111lfzjpriceMt*为什么要加个this的指针呢?我们继续往下看。在这里我们把上面C+程序的main函数翻译C程序,是这样的:Intmai()structCarcar;SetPrice(&car,);return;所以最终把上述的C+程序转换成C程序的代码如下:所以加SetPrice函数的第一个参数this指针的作用,就是为了给结构体Car域里的变量赋值。this指针的作
6、用其作用就是指向成员函数所作用的对象,所以非静态成员函数中可以直接使用this来代表指向该函数作用的对象的指针。下面的例子可以很好的说明this的作用:/includeclassCarpublic:Intm-prlce;voidPrintPrtce()std:coutm,prtcestd:endl;voidSetPrice(Intp)thts-m,price=;/等价丁m_prtce=p;this-PrtntPrice();/PrintPrice();)CarGetCar()(return*this;/返回该相数作用的对象);intmain(void)(Carcarl,car2;carl.Se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ this指针的理解和作用 this 指针 理解 作用
