63

I have a class, lets say CAppPath which has a static method:

public:
    static CString GetAppPath();

and in CAppPath.cpp it's defined as:

CString CAppPath::GetAppPath()
{

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

Now I have another class CXMLHandler, and I have included CAppPath.h in it. But how do I call the GetAppPath() method? I've tried:

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

but it doesn't work. How should I access this method? Since it is a static method, do I need to create a object of the class or should I make the class itself static?

1 Answer 1

127

You only need to use the scope resolution operator :: to qualify the method with the name of the class that exposes it:

CString appPath = CAppPath::GetAppPath();
Sign up to request clarification or add additional context in comments.

2 Comments

Thanks, In that case Do I need the method as static?
@Subhen, yes, you do. If the method is not static, you'll have to create a new instance of the CAppPath class in order to call the GetAppPath() method on that instance.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.