Как вызвать статический метод другого класса

У меня есть класс, скажем, 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();
}

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


person Simsons    schedule 06.12.2010    source источник


Ответы (1)


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

CString appPath = CAppPath::GetAppPath();
person Frédéric Hamidi    schedule 06.12.2010
comment
Спасибо. В таком случае мне нужен статический метод? - person Simsons; 06.12.2010
comment
@Subhen, да, ты знаешь. Если метод не является статическим, вам придется создать новый экземпляр класса CAppPath, чтобы вызвать метод GetAppPath() для этого экземпляра. - person Frédéric Hamidi; 06.12.2010