VC++ 有关构造函数的问题
答案:2 悬赏:50
解决时间 2021-02-19 07:08
- 提问者网友:温柔又任性
- 2021-02-19 04:14
在以下三个构造函数中,分别有:
:mc_iNumber(nfield)
:CDialog(CDlgYG::IDD, pParent)
:CBaseTabCtrl(e_n)
我不明白它们是干什么用的。
CBaseTabCtrl::CBaseTabCtrl(int nfield)
:mc_iNumber(nfield)
{
this->m_statics=new CStatic[mc_iNumber];
this->m_edits=new CEdit[mc_iNumber];
m_list=new CListCtrl;
m_btn=new CButton[5];
}
CDlgYG::CDlgYG(CWnd* pParent )
: CDialog(CDlgYG::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgYG)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_tabYg=new CTabYG(8);
}
CTabYG::CTabYG(int e_n)
:CBaseTabCtrl(e_n)
{
}
最佳答案
- 二级知识专家网友:為→妳鎖鈊
- 2021-02-19 04:46
就是在构造函数中初始化一些成员或基类,确保在进入构造函数之前先初始化这些成员或基类。
例如:
CBaseTabCtrl::CBaseTabCtrl(int nfield)
:mc_iNumber(nfield)
{
。。。。。
}
这里就是确保在进入构造函数CBaseTabCtrl之前,先用nfield初始化变量mc_iNumber。
CTabYG::CTabYG(int e_n)
:CBaseTabCtrl(e_n)
{
}
这里就是在进入构造函数CTabYG之前,先初始化基类CBaseTabCtrl,确保先进入基类的构造函数,再进入派生类的构造函数,而这是必须的。
例如:
CBaseTabCtrl::CBaseTabCtrl(int nfield)
:mc_iNumber(nfield)
{
。。。。。
}
这里就是确保在进入构造函数CBaseTabCtrl之前,先用nfield初始化变量mc_iNumber。
CTabYG::CTabYG(int e_n)
:CBaseTabCtrl(e_n)
{
}
这里就是在进入构造函数CTabYG之前,先初始化基类CBaseTabCtrl,确保先进入基类的构造函数,再进入派生类的构造函数,而这是必须的。
全部回答
- 1楼网友:万千宠爱
- 2021-02-19 05:10
初始化,用括号里面的值来初始化
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯