如果能够同时在MFC程序中使用WTL的很多现成类,那该多好.
为了不发生MFC的CBitmapButton和WTL的CBitmapButton冲突,不的不看一下NameSpace的道理.
在MSDN中是这样描述的:
C++语言只提供了单一的NameSpace,这就有问题了,例如:
// one.h char func(char); class String { ... }; // somelib.h class String { ... };
这样的定义是不可以的,会导致String类崩溃.
所以一个NameSpace申明了一个区域,并给这个区域添加了标识符,为在这个区域的每个Name都做了标记.这样我们就
可以用同样的名字而不必担心发生冲突.即时同样的Name出现在同一个Translation Unit中,只要有不同的Namespace
就是互相独立的,例如:
// one.h
namespace one
{
char func(char);
class String { ... };
}
// somelib.h
namespace SomeLib
{
class String { ... };
}
现在String不会崩溃, 因为one::String 和 Somelib::String互相独立.
那么我到底应该怎样在MFC中同时引用CBitmapButton呢?