2010-12-06 7 views
21

J'ai une classe, permet de dire CAppPath qui a une méthode statique:Comment appeler une méthode statique d'une autre classe

public: 
    static CString GetAppPath(); 

et CAppPath.cpp il est défini comme:

CString CAppPath::GetAppPath() 
{ 

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

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

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

mais cela ne fonctionne 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 devrais-je rendre la classe statique?

Répondre

59

Vous ne devez utiliser le scope resolution operator:: pour valider la méthode avec le nom de la classe qui l'expose:

CString appPath = CAppPath::GetAppPath(); 
+0

Merci, Dans ce cas Ai-je besoin de la méthode statique? – Simsons

+4

@Subhen, oui, vous faites. Si la méthode n'est pas statique, vous devrez créer une nouvelle instance de la classe 'CAppPath' afin d'appeler la méthode' GetAppPath() 'sur cette instance. –

Questions connexes