mfc定義全局變量的方法是什么

MFC
小億
98
2023-10-21 12:38:29

在MFC中,可以通過(guò)以下兩種方法定義全局變量:

  1. CWinApp派生類中定義:可以在CWinApp派生類的頭文件中聲明全局變量,并在源文件中進(jìn)行定義和初始化。例如:
// MyApp.h
class CMyApp : public CWinApp
{
public:
    CMyApp();

    // 聲明全局變量
    CString m_globalString;
};

// MyApp.cpp
CMyApp::CMyApp()
{
    // 初始化全局變量
    m_globalString = "Hello World";
}

然后,在其他任何地方通過(guò)以下方式訪問(wèn)全局變量:

CString str = ((CMyApp*)AfxGetApp())->m_globalString;
  1. 使用靜態(tài)變量:可以在任何合適的地方聲明和定義靜態(tài)變量,并通過(guò)靜態(tài)成員函數(shù)來(lái)訪問(wèn)它們。例如:
// SomeClass.h
class CSomeClass
{
public:
    static CString m_globalString;
};

// SomeClass.cpp
CString CSomeClass::m_globalString = "Hello World";

然后,在其他任何地方通過(guò)以下方式訪問(wèn)全局變量:

CString str = CSomeClass::m_globalString;

需要注意的是,使用全局變量可能會(huì)導(dǎo)致代碼的可維護(hù)性和可測(cè)試性降低,因此在設(shè)計(jì)MFC應(yīng)用程序時(shí)應(yīng)盡量避免過(guò)多地使用全局變量。

0