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

请问new开辟的对象数组的使用有关问题。

2012-03-02 
请教new开辟的对象数组的使用问题。。C/C++ codevoid CWindow::SetParent(CWindow* pParent){m_pParent pP

请教new开辟的对象数组的使用问题。。

C/C++ code
void CWindow::SetParent(CWindow* pParent){    m_pParent = pParent;    if (pParent)    {        pParent->AddWindow(this);    }}CWindow* m_pCheckBoxCTL = NULL;m_pCheckBoxCTL = new CCheckBoxCTL[m_BoxNum];for (int i=0; i<m_BoxNum; i++){    m_pCheckBoxCTL[i]->SetParent(m_pParent);}

m_pCheckBoxCTL = new CCheckBoxCTL[m_BoxNum];
m_pCheckBoxCTL[i]->SetParent(m_pParent);
这两条语句写法有没有问题 ??
我测试总是非正常终止,只有把m_pCheckBoxCTL写成指针数组才正确运行:CWindow* m_pCheckBoxCTL[3];

[解决办法]
CWindow* m_pCheckBoxCTL = NULL;
这一句,是在函数中定义的,还是在类定义体中定义的?
这里需要一个成员变量。

另外,我现在比较迷糊,我怎么看都觉得这里:
m_pCheckBoxCTL[i]->SetParent(m_pParent);
应该改成:
m_pCheckBoxCTL[i].SetParent(m_pParent);

[解决办法]
CWindow* m_pCheckBoxCTL[3];和CWindow* m_pCheckBoxCTL = NULL;
不一样啊;
写成这样看看
m_pCheckBoxCTL[i].SetParent(m_pParent);
[解决办法]
你代码能编译过去吗,m_pCheckBoxCTL[i]->SetParent(m_pParent)这里不对啊
应该是用m_pCheckBoxCTL[i].SetParent(m_pParent)
[解决办法]
.符号就是用来引用类和结构成员的。
只有当是指向类或结构的指针时才用->符号引用成员。
[解决办法]
探讨
CWindow* m_pCheckBoxCTL = NULL;
这一句,是在函数中定义的,还是在类定义体中定义的?
这里需要一个成员变量。

另外,我现在比较迷糊,我怎么看都觉得这里:
m_pCheckBoxCTL[i]->SetParent(m_pParent);
应该改成:
m_pCheckBoxCTL[i].SetParent(m_pParent);

热点排行