在两个namespace之间,类成员方法如何调度
namespace MyNamespace{
class CMyclass{
public:
CMyclass();
~CMyclass();
int GetValue() const;
};
} //MyNamespace
namespace MySameSpace{
class CMyTestClass{
public:
CMyTestClass();
~CMyTestClass();
int GetValue() const;
};
} //MySameSpace
如何在MySameSpace的GetValue方法中调用MyNamespace的GetValue?
#include<iostream>
using namespace mynamespace;
using namespace mysamespace;
namespace mynamespace{
class cmyclass{
public:
cmyclass();
~cmyclass();
int getvalueq() const;
private:
int value;
};
int cmyclass::getvalueq() const
{
return 1;
}
}
namespace mysamespace{
class cmytestclass{
public:
cmytestclass();
~cmytestclass();
int getvalue() const;
};
int cmytestclass::getvalue() const
{
return mynamespace::cmyclass::getvalueq();//得通过对象调用
}
}
namespace mysamespace{
class A{
public:
A():a(10){};
A(int x):a(x){};
~A(){};
int getValue()const {return a;};
private:
int a;
};
void Test();
}
int main(int argc, char* argv[])
{
mysamespace::Test();
return 0;
}
#include<iostream>
using namespace std;
namespace mysamespace{
class TestA{
public:
TestA(){};
~TestA(){};
int getValue()const {return A().getValue();};
private:
int a;
};
void Test(){
TestA ta;
cout<<ta.getValue ()<<endl;
cin.get();
}
}