bycj.net
当前位置:首页 >> B this指针 >>

B this指针

this指针是一个隐含于每一个成员函数中的特殊指针.它是一个指向正在被该成员函数操作的对象,也就是要操作该成员函数的对象. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取

this是指向类的一个实例对象的指针,作用1.在重名时用this->成员变量名2.成员函数需要返回对象的引用,用return *this;

楼上的回答的很好,另外加一点,对于非静态成员函数,他有一个隐含的参数就是this指针.所以如果有A::b(int,int)这个函数,系统调用时,其实会这样调用b(int,int,this),其中this就是指向A类的一个对象的指针.static成员函数是没有隐含this指针这个参数的,原因是static函数是类的函数,与类的具体对象无关,所以自然不会传this指针给这种类型的函数.

A.静态成员函数没有this指针 B.由友元函数本质上不属于这个类,所以也没有.C.明显错 D.对的.A.fun1. 就是上面选择题的知识点 this指针是指一个类,在实例化时,也就是生成对象时.其实可以生成很多对象,怎么区别是哪个对象要调用共同的成员函数呢.本对象在调用成员函数,如何让编译器识别出,所以就有必要用一个指针来指向这个对象.就是指向自己,所以有了this指针.静态成员函数,是被这个类所有的对象共有的,所有不需要this来区别调用,直接调用就是.友元函数本质上是不是这个类里的函数,只是有特权的访问而已,不是这个类的东西,没必要给this指针.

1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果.this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数

这个问题很奇怪啊..c++的_静态_成员函数 没有 this指针.c++的动态成员函数 可以有 返回值,一定有this指针,可以有指针参数,可以写返回类型所以赶脚木有答案.

this指针是编译系统自动产生的指向本身的指针,比如有个类:typedef class abc{private: int num;public: void Init(int num);}abc;void abc::Init(int num){ this->num=num;}因为参数中有个和本身的成员变量同名的变量,如果不用this指针的话不好区分哪个是哪个,加了this指针后this->num就是类里面的成员变量,而没加的就是传递过来的参数.

应该是B.this指针是指向正在被操作,即当前调用的对象.

网站首页 | 网站地图
All rights reserved Powered by www.bycj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com