阅读量:1
在MFC中,可以通过以下两种方法定义全局变量:
- 在
CWinApp
派生类中定义:可以在CWinApp
派生类的头文件中声明全局变量,并在源文件中进行定义和初始化。例如:
// MyApp.h class CMyApp : public CWinApp { public: CMyApp(); // 声明全局变量 CString m_globalString; }; // MyApp.cpp CMyApp::CMyApp() { // 初始化全局变量 m_globalString = "Hello World"; }
然后,在其他任何地方通过以下方式访问全局变量:
CString str = ((CMyApp*)AfxGetApp())->m_globalString;
- 使用静态变量:可以在任何合适的地方声明和定义静态变量,并通过静态成员函数来访问它们。例如:
// SomeClass.h class CSomeClass { public: static CString m_globalString; }; // SomeClass.cpp CString CSomeClass::m_globalString = "Hello World";
然后,在其他任何地方通过以下方式访问全局变量:
CString str = CSomeClass::m_globalString;
需要注意的是,使用全局变量可能会导致代码的可维护性和可测试性降低,因此在设计MFC应用程序时应尽量避免过多地使用全局变量。