C++ 如何为添加到MFC文档/框架项目的对话框使用初始化列表
我在MFC文档/框架项目(Single doc、MFC、VC++2010项目)中添加了一个额外的对话框(TestDialog),TestDialog.h文件显示C++ 如何为添加到MFC文档/框架项目的对话框使用初始化列表,c++,visual-studio-2010,mfc,dialog,C++,Visual Studio 2010,Mfc,Dialog,我在MFC文档/框架项目(Single doc、MFC、VC++2010项目)中添加了一个额外的对话框(TestDialog),TestDialog.h文件显示 class CTestDialog : public CDialogEx { DECLARE_DYNAMIC(CTestDialog) public: CTestDialog(CWnd* pParent = NULL); // standard constructor virtual ~CTestDialog()
class CTestDialog : public CDialogEx
{
DECLARE_DYNAMIC(CTestDialog)
public:
CTestDialog(CWnd* pParent = NULL); // standard constructor
virtual ~CTestDialog();
}
BOOL m_x;
long m_Type
然后我添加了以下变量,我将在TestDialog.h文件中使用
公众:
BOOL m_x;
long m_Type
TestDialog.cpp文件显示
BOOL m_x;
long m_Type
CTestDialog::CTestDialog(CWnd* pParent /*=NULL*/)
: CDialogEx(CTestDialog::IDD, pParent)
, testdlg(0)
{
}
CTestDialog::~CTestDialog()
{
}
现在,我有了一个用于frame/doc文件(在..doc.cpp文件中声明)的使用初始化列表
并且相应的变量在.h文件中衰减,它工作得很好。但是每当我想在对话框中衰减相同的东西时,虽然可以从对话框中访问变量,但我无法初始化变量值。所以
BOOL m_x;
long m_Type
我想在TestDialog.cpp文件中添加m_x和m_Type的初始化列表
BOOL m_x;
long m_Type
:
m_x(FALSE)
m_Type(0)
我试图添加如下内容
BOOL m_x;
long m_Type
CTestDialog::~CTestDialog():
m_x(FALSE)
m_Type(0)
{
}
或
BOOL m_x;
long m_Type
但是它们都不起作用,并且初始化列表中的编译器只能在构造函数中声明。如何为该对话框重新定义初始化列表。您的对话框已经有一个初始化列表,您只需添加如下更改:
BOOL m_x;
long m_Type
CTestDialog::CTestDialog(CWnd* pParent /*=NULL*/)
: CDialogEx(CTestDialog::IDD, pParent)
, testdlg(0)
, m_x(FALSE)
, m_Type(0)
{
}
一般语法为:
BOOL m_x;
long m_Type
CSomeClass::CSomeClass() : m_var1(1), m_var2(2), m_var3(3)
{
}
其中,初始值设定项列表遵循:
后的构造函数定义,变量名称-m_var1
等在本例中-用逗号分隔,初始值放在括号中。与对话框一样,您也可以在初始值设定项列表中包含基类构造函数
BOOL m_x;
long m_Type
对话框源代码中的布局只是将每个变量放在新行上
BOOL m_x;
long m_Type