web-dev-qa-db-fra.com

Comment appeler une méthode statique d'une autre classe

J'ai une classe, disons CAppPath qui a une méthode statique:

public:
    static CString GetAppPath();

et dans CAppPath.cpp, il est défini comme:

CString CAppPath::GetAppPath()
{

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

Maintenant, j'ai une autre classe CXMLHandler, et j'ai inclus CAppPath.h Dedans. Mais comment appeler la méthode GetAppPath()? J'ai essayé:

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

mais ça ne marche pas. Comment dois-je accéder à cette méthode? Puisqu'il s'agit d'une méthode statique, dois-je créer un objet de la classe ou dois-je rendre la classe elle-même statique?

40
Simsons

Vous avez seulement besoin d'utiliser opérateur de résolution de portée:: pour qualifier la méthode avec le nom de la classe qui l'expose:

CString appPath = CAppPath::GetAppPath();
84
Frédéric Hamidi