2010-12-06 17 views
21

मैं एक वर्ग है एक स्थिर विधि कैसे कहते हैं, की सुविधा देता है 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(); 
} 

लेकिन यह काम नहीं करता है। मुझे इस विधि को कैसे एक्सेस करना चाहिए? चूंकि यह एक स्थिर विधि है, क्या मुझे कक्षा का ऑब्जेक्ट बनाने की आवश्यकता है या क्या मुझे कक्षा को स्थिर बनाना चाहिए?

उत्तर

59

आप केवल scope resolution operator:: क्लास का नाम है कि यह उजागर करता है के साथ विधि अर्हता प्राप्त करने के उपयोग करने की आवश्यकता: मैं विधि के रूप में स्थिर की जरूरत है,

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

धन्यवाद उस मामले में? – Simsons

+4

@ सुबेन, हाँ, आप करते हैं। यदि विधि स्थैतिक नहीं है, तो आपको उस उदाहरण पर 'GetAppPath() 'विधि को कॉल करने के लिए' CAppPath' कक्षा का एक नया उदाहरण बनाना होगा। –

संबंधित मुद्दे