从这个简单示例中可以看出,在成员函数内部使用this指针可以准确地访问当前对象的成员变量。 二、this指针的意义和重要性 2.1区分同名变量 在某些情况下,类的成员变量和局部变量可能具有相同的名称,此时可以通过使用this指针来准确定位到类成员。这种情况下,this指针起到了一个重要的标识作用。
类的任何一个成员函数,其实都是把这个类本身,通过this指针隐式地传给函数,实现参数传递。举个例子,上面的成员函数 operator+(const Time& t)const 看似只有一个参数t,实际上有两个:t 和指针this. 由于this是按指针传递,因此可以改变类的私有数据。如果想禁止这个函数改变类的私有数据,则要像上面一样,在结尾加...
在C 语言中,没有类和对象的概念,因此不存在 this 指针。this 指针是 C++ 中的一个关键字,它表示指向当前对象的指针。然而,如果你想在 C 语言中模拟类似于 C++ 类的行为,你可以使用结构体(struct)和函数组合来实现这一目标。在这种情况下,你可以将结构体作为函数的第一个参数传递,以模拟 this 指针的功能。以...
1.// 每个普通成员函数的形参都隐含了:Time* const this,Time是类2.// const成员函数形参隐含了:const Time* const this3.// 调用成员函数时,会把该对象的地址传递给this指针4.// void getK()const{} 等价于:void getK(const Time* const this){}5.// 在类内,可打印当前对象的地址:cout << this ...
“ this”指针作为隐藏参数传递给所有非静态成员函数调用,并且可用作所有非静态函数主体内的局部变量。“ this”指针在静态成员函数中不可用,因为可以在没有任何对象(带有类名)的情况下调用静态成员函数。 对于X类, this指针的类型为'X *'。另外,如果X的成员函数声明为const,则此指针的类型为'const X *' ...
“ this”指针作为隐藏参数传递给所有非静态成员函数调用,并且可用作所有非静态函数主体内的局部变量。“ this”指针在静态成员函数中不可用,因为可以在没有任何对象(带有类名)的情况下调用静态成员函数。 对于X类, this指针的类型为'X *'。另外,如果X的成员函数声明为const,则此指针的类型为'const X *' ...
C-3 this的使用 classphone{privateString brand;privateintprice;privateString color;publicString getBrand(){returnbrand; }publicintgetPrice(){returnprice; }publicString getColor(){returncolor; }publicvoidsetBrand(String brand){this.brand =brand;...
通常在class定义时要用到类型变量自身时,因为这时候还不知道变量名(为了通用也不可能固定实际的变量名),就用this这样的指针来使用变量自身。1. this指针的用处:一 个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非...
如果有b.volume( ) ,应该是引用对象b中的height,width和length,计算出长方体b的体积。而现今都用同一个函数段,系统怎样使它分别引用a或b中的数据成员呢?在每一个成员函数中都包含一个特殊的指针,这个指针的名字是固定的,称为this指针。它是指向本类对象的指针,它的值是当前被调用的成员函数...
正确答案:D解析:C++的类对象具有一个附加的隐含形参,即指向该类对象的指针this,与调用成员函数的对象绑定在一起,在成员函数的函数体可以显示使用this指针,选项A错误;类的友元函数可以不是普通的非成员函数,此时它没有this指针,选项B错误;静态成员函数并不与对象相关联,不属于任何一个类的对象,所以没有this指针,选...