类与this基础问题 晕了大侠帮帮忙吧
class NodeElement
{
public:
NodeElement(NodeElement* pParent)
{
m_pParent = pParent;
pParent->addchild(this); //这的this是派生类对象的地址 对吧??
}
void addchild(NodeElement* child)
{
child->m_pParent = this; //断点到这的时候为什么this指针会是NodeRoot的地址啊
}
NodeElement()
{
}
NodeElement * m_pParent;
};
class NodeFrame:public NodeElement
{
public:
NodeFrame(NodeElement* pParent):NodeElement(pParent)
{
}
};
class NodeManage
{
public:
NodeElement NodeRoot;
public:
void add()
{
NodeElement * pElement = new NodeFrame(&NodeRoot);
}
};
int _tmain(int argc, _TCHAR* argv[])
{
NodeManage sage;
sage.add();
return 0;
}
[解决办法]
this就是自己的意思。楼主懂了么??好比英语里的I一样。你说I的时候,这个I是你,我说I的时候这个I是我。哪个对象调用了这个函数,那么这个this就是操作这个函数的对象。
[解决办法]
楼主的问题是很基础的问题,建议楼主先放下手中的事情,去仔细读读C++ Primer Plus吧,否则欲速则不达。