(*this).M= m; (*this).S= s; } 可以看到,以上两种写法用到了对象中的隐藏的this指针,可以明确是本类中的成员,从而明显的区别本对象与外部变量。实际上,当一个对象调用其成员函数的时候,即便程序中有多个该类的对象,但成员函数的代码也仅有一份,所以为了区分它们是哪个对象调用的成员函数,编译器也是转化成...
(从成员函数和重载运算符返回值,this指针是一个更实用的用法) 1)this指针指向的是该成员函数所属的对象,所以*this就是这个对象本身。通常实用引用和this指针从重载赋值运算符返回数据,从而避免创建额外的对象。 2)必须注意:this指针在静态成员函数中是无效的,因为静态成员函数不属于任何特定的对象。 三、dynamic_cast...
再考虑一下C++的this指针,一个类中的成员函数,依据this指针来区分不同的对象,也就是说根据this指针实现了访问不同的对象的成员变量。 这是否也是多态的一种表现?这里所说的多态已经不是那个“父类指针指向子类对象”的教条了,而是体现在同一个类的不同对象之间,调用同一个成员函数,依据参数“this指针”来实现访...
关于this指针的说明不正确的是( )。 A. 不能在程序中修改this指针 B. this指针可以给其他指针赋值,但不能修改this指针 C. 静态成员函数中没有thi
当一个成员函数被调用时,自动向它传递一个隐含的参数,该参数是一个指向这个成员函数所在的对象的指针。 this 指针被隐含地声明为: ClassName *const this,这意味着不能给 this 指针赋值;在 ClassName 类的const 成员函数中,this 指针的类型为:const ClassName* const,这说明不能对 this 指针所指向的这种对象是不...
–当通过一个对象调用成员函数时,系统先将该对象的地址赋给this指针,然后调用成员函数,成员函数对对象的数据成员进行操作时,就隐含使用了this指针。 void类型的指针 void *pv; //可以声明void类型的指针 int *pint; int i; pv = &i; //void类型指针指向整型变量 pint = (int *)pv; // void指针赋值给int...
答案:D[解析] C++的this指针是系统默认产生的一个指针,它是const的,所以是不能够被改变,不能够被赋值的。 结果一 题目 关于this指针的说明不正确的是∠ACB=90° A 不能在程序中修改this指针 B this指针可以给其他指针赋值,但不能修改this指针 C 静态成员函数中没有this指针 D this指针可以被赋值分值: 2 答...
在数据传递时,如果数据块较大,可以使用指针传递地址而不是实际数据,即提高传输速度,又节省大量内存。 一个数据缓冲区char buf[100],如果其中buf[0,1]为命令号,buf[2,3]为数据类型,buf[4~7]为该类型的数值,类型为int,使用如下语句进行赋值: *(short*)&buf[0]=DataId; ...
pint = (int *)pv; // void指针赋值给int指针需要类型强制转换 指向常量的指针变量 格式: const 类型标识符 *指针变量名; 通过该指针变量只能读取它所指的常量的值 不能通过指针变量来改变所指对象的值,但指针变量本身值可以改变,可以指向另外的对象。