Constructor 具有继承的单个类的构造函数的正确语法

Constructor 具有继承的单个类的构造函数的正确语法,constructor,mfc,Constructor,Mfc,下面是两种声明构造函数的方法 版本1 版本2 唯一的区别是基本构造函数调用的位置。是否有规定应以何种方式指定?这有关系吗 我不是在这里征求意见。如果可能,只是一个实际的响应。不,这没关系,但是基类构造函数总是在任何成员类初始化完成之前执行 我总是将基类构造函数放在列表的顶部。因为从我的观点来看,它更具可读性 甚至类成员初始化也不是按照构造函数中编写的顺序进行的。它们是按照类中声明的顺序初始化的。据我所知,这里没有多重继承。您似乎是从单个类派生的,所以是单个继承。通常是从MFC类派生时的唯一选项。

下面是两种声明构造函数的方法

版本1 版本2 唯一的区别是基本构造函数调用的位置。是否有规定应以何种方式指定?这有关系吗


我不是在这里征求意见。如果可能,只是一个实际的响应。

不,这没关系,但是基类构造函数总是在任何成员类初始化完成之前执行

我总是将基类构造函数放在列表的顶部。因为从我的观点来看,它更具可读性


甚至类成员初始化也不是按照构造函数中编写的顺序进行的。它们是按照类中声明的顺序初始化的。

据我所知,这里没有多重继承。您似乎是从单个类派生的,所以是单个继承。通常是从MFC类派生时的唯一选项。@IInspectable Good point。为了清晰起见,调整了标签并重新编写了问题。
CAssignHistoryDlg::CAssignHistoryDlg(CWnd* pParent /*=NULL*/)
    : CResizingDialog(_T("SMHistory"), CAssignHistoryDlg::IDD, pParent, false)
    , m_pCombo(nullptr)
    , m_pStrText(nullptr)
    , m_pGrid(nullptr)
    , m_bBuildTreeMode(false)
    , m_bFirstSelChangeEvent(false)
    , m_iLookIn(LOOKIN_THEME_AND_METHOD) // AJT v10.7.0
    , m_bFullHistoryMode(false)
    , m_pHistoryOriginal(nullptr)
{

}
CAssignHistoryDlg::CAssignHistoryDlg(CWnd* pParent /*=NULL*/)
    : m_pCombo(nullptr)
    , m_pStrText(nullptr)
    , m_pGrid(nullptr)
    , m_bBuildTreeMode(false)
    , m_bFirstSelChangeEvent(false)
    , m_iLookIn(LOOKIN_THEME_AND_METHOD) // AJT v10.7.0
    , m_bFullHistoryMode(false)
    , m_pHistoryOriginal(nullptr)
    , CResizingDialog(_T("SMHistory"), CAssignHistoryDlg::IDD, pParent, false)

{

}