Как мне вызвать статический метод другого класса - PullRequest
38 голосов
/ 06 декабря 2010

У меня есть класс, допустим, CAppPath, который имеет статический метод:

public:
    static CString GetAppPath();

, а в CAppPath.cpp он определяется как:

CString CAppPath::GetAppPath()
{

    return "C:\..\MypAth";
}

Теперь у меня есть ещекласс CXMLHandler, и я включил в него CAppPath.h.Но как мне вызвать метод GetAppPath()?Я пробовал:

#include "CAppPath.h"
void CXMLHandler::MyMethod
{
CNDSClientDlg->GetAppPath();
}

но это не работает.Как мне получить доступ к этому методу?Так как это статический метод, мне нужно создать объект класса или я должен сделать сам класс статическим?

1 Ответ

81 голосов
/ 06 декабря 2010

Вам нужно только использовать оператор разрешения области действия ::, чтобы квалифицировать метод с именем класса, который его предоставляет:

CString appPath = CAppPath::GetAppPath();
...