首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问关于new和对象指针及this的有关问题.

2012-02-04 
请教关于new和对象指针及this的问题..C/C++ code// 公共基类class CWindow{public:CWindow(CWindow* pPare

请教关于new和对象指针及this的问题..

C/C++ code
// 公共基类class CWindow{public:    CWindow(CWindow* pParent=NULL);    virtual ~CWindow();    virtual void  SetParent(CWindow* pParent);    protected:    CWindow*  m_pParent;};void CWindow::SetParent(CWindow* pParent){    m_pParent = pParent;    if (pParent)    {        pParent->AddWindow(this);    }}// 派生类CCheckBoxCTLclass CCheckBoxCTL : public CWindow{public:    CCheckBoxCTL(CWindow* pParent=NULL);    virtual ~CCheckBoxCTL();};// 派生类CBoxGroupclass CBoxGroup : public CWindow{public:    CBoxGroup(CWindow* pParent=NULL);    virtual ~CBoxGroup();    virtual bool  LoadFromIni(char* pFileName, int groupIndex);protected:    CCheckBoxCTL*  m_pCheckBoxCTL;    int        m_BoxNum;};bool CBoxGroup::LoadFromIni(char* pFileName, int groupIndex){    m_pCheckBoxCTL = new CCheckBoxCTL[m_BoxNum];    if (!m_pCheckBoxCTL) return false;          // m_pParent在构造函数中已初始化    for (int i=0; i<m_BoxNum; i++)    {        m_pCheckBoxCTL[i]->SetParent(m_pParent);    }    return true;}



请问最后那个CBoxGroup::LoadFromIni()里写的这句:m_pCheckBoxCTL[i]->SetParent(m_pParent);
SetParent()函数里 this指的什么??是m_pCheckBoxCTL[i]的地址,还是m_pCheckBoxCTL[i]对象本身??
这样写有没有问题????

我的运行结果是,当销毁这个new出的内存块的时候,程序非正常终止。

(我把CCheckBoxCTL* m_pCheckBoxCTL;换成数组方式:CCheckBoxCTL* m_pCheckBoxCTL[3],测试运行正常,可以解决,但是我不知道为什么我那样不可以。不知道原因何在。)

[解决办法]
请问最后那个CBoxGroup::LoadFromIni()里写的这句:m_pCheckBoxCTL[i]->SetParent(m_pParent);
SetParent()函数里 this指的什么??是m_pCheckBoxCTL[i]的地址,还是m_pCheckBoxCTL[i]对象本身??
this保存的是m_pCheckBoxCTL[i]这个对象的地址。
[解决办法]
m_pCheckBoxCTL[i]->SetParent(&m_pCheckBoxCTL[i]->);//是否应该是这样呢
[解决办法]
m_pCheckBoxCTL[i].SetParent(&m_pCheckBoxCTL[i]->);//上面搞错了,应该是这样
[解决办法]
我 也想知道
[解决办法]
我是来接分的
[解决办法]
探讨
引用:
m_pCheckBoxCTL[i].SetParent(&amp;amp;m_pCheckBoxCTL[i]->);//上面搞错了,应该是这样


不可以这样写。参数一定要填m_pParent,因为我要传父窗口对象进去。
如果只是要调用SetParent()的话,要怎么写?
这样:*(m_pCheckBoxCTL[i]).SetParent(……

热点排行