#include<iostream>
#include<string>
using namespace std;
class Human
{
private:
void Talk(string Statement)
{
cout<<Statement<<endl;
}
public:
void Introduceself()
{
Talk("this,Bla bla");
}
};
int main()
{
Human whw;
whw.Introduceself ();
return 0;
}
其中的这句话Talk("this,Bla bla");通不过编译啊!
书上说:在类的成员方法中调用其他方法时,编译器将隐式的传递This指针(函数调用中不可见的参数)
在这里,方法Introduceself()使用私有成员Talk()在屏幕上显示一句话。实际上编译器将在调用Talk时嵌入this指针,即Talk(this,"Bla bla")
哪位高手知道怎么做啊?如果你说把Talk(this,"Bla bla")改成 this->Talk("Bla bla");就不要回答了。因为我要的是专业的回答!!!
谢谢了!
书上说的是:实际上【编译器】将在调用Talk时嵌入this指针,即Talk(this,"Bla bla"), 。。。。
就是,上面的代码,【编译器】在编译的时候,实际上把你的代码修改如下,然后再编译的。
class Human而调用的源码,自然也修改成了:
int main(int argc, char** argv) {【并不是让你在源码上的函数调用接口自己嵌入this】
C++this指针用法参考
总结,this指针在C++中用于在成员函数中引用当前对象。理解其用法对于掌握面向对象编程至关重要。通过成员函数传递类指针作为this参数,使得成员函数可以直接访问类的私有数据。理解this指针的生命周期和存储方式,有助于更高效地编写C++代码。
谁能告诉我,C语言中的this指针的具体详细的定义和使用?
2. this指针的使用:一种情况就是,在类的非静态成员函数中返回类对象本身的时候,直接使用 return *this;另外一种情况是当参数与成员变量名相同时,如this->n = n (不能写成n = n)。
C++中的this指针
在C++中,this指针是实现对象自引用的核心机制,它指向当前对象的地址。成员函数通过this访问类的成员,确保了函数能够识别调用它的对象,并访问其成员。编译器在编译时自动处理this指针。1. 常规用法 常用场景包括自引用指针、链式调用、返回对象自身引用以及成员访问等。链式调用通过返回*this实现连续调用同一...
c++中this的用法?
this 指针是当前对象的引用,做为其成员函数的隐藏参数存在.只要对成员操作的地方都隐含this 指针.比如函数int GetValue{return itsValue;}实际上就是return this->itsValue.理解到这步就行了.
c++中的this指针详解!
C++中的this指针深入解析:在C++中,类本质上是一种自定义类型,可以用来声明变量,比如`myclass my`,这里的`this`就类似于一个指向变量自身的指针。每个实例的`this`都是指向该实例在内存中的地址,类型与实例的类相同。在类的非静态成员函数中,`this`作为隐含参数,自动传递了对象的地址,使得我们...
c++ this *this用法?
,说说我的理解吧: 不足之处请高手赐教。this 指针也就是 一个类中的成员函数隐性的指针,由编译器生成的。当成员函数被调用时,this指针指向调用的对象地址。。我不知道你的用法指的是什么,,this指针一般是隐式调用的,如果要显示使用的话,按一般指针 用法不就成了。。我是这么觉得的。。
c++中"this"的用法?
也就是返回a-a,这就有问题了--究竟哪个a是成员变量哪个a又是参数呢?为了搞清楚这一点,我们要把成员变量的那个a变成this->a,而参数a不变.这样就能分清楚了!也就是说,this是一个指向当前要调用成员函数的那个类对象的指针,仔细琢磨琢磨这句话吧!
在C++中,如何显式地使用this指针呢?(具体就是在函数生命中有this指针参...
this指针就是对象地址常量,this关键词的作用域是对象,在对象成员函数被调用时由系统自动传入(隐含操作),对象成员函数可以直接使用,不需要另外传递;如果外部代码需要访问或传递对象地址,直接取得对象地址即可,且外部程序不能使用this关键词。
C++this指针详解
例如,在volume函数中,可以使用this->height、this->width、this->length来明确引用对象的数据成员。此外,也可以使用*this来表示当前对象,*this等同于this所指向的对象。总结来说,this指针是C++中用于区分不同对象成员函数引用的关键元素。通过this指针,成员函数能够访问并操作特定对象的数据成员,实现不...
c++中怎样用this指针输出本对象的名称
可以用typeid(*this).name(),但是这种方法返回的一般是一个数字加上对象名称,而且结果取决于编译器。比如:class A { public:void printClassName() { cout << typeid(*this).name() << endl;} };调用printClassName()在我的gcc上会输出1A 还有一种方法就是在class里定义一个静态成员函数。c...