我知道this
已经是一个指针,但我想了解究竟this
是什么。它是地址还是 * 类型的指针?
如果我要将它存储到一个变量中,我将如何定义该变量?
让我们以此为例
class Adult
{
private:
Child child;
public:
Adult(){
child = new Child(this);
//to have something to hold onto and get back to the upper level of the hierarchy.
}
};
class Child
{
private:
Adult* my_adult;
public:
Child();
Child(Adult &hand){
my_adult = hand;
}
}
好的,所以我遇到问题的地方是my_adult = hand;
当我尝试构建项目时它输出的代码行,如果后面还有更多,我会感到非常震惊。
sys/chin.cpp:19:14: error: cannot convert ‘Adult’ to ‘Adult*’ in assignment
那么,当作为与访问成员相反的数据类型处理时,这是如何工作的呢?