一个.h:
namespace one {
class X : public IZ {
public:
void function(); // virtual function (=0) in IZ
}
}
二.h
namespace one {
class Y {
public:
void functionY(class X& x); // or one::X& x
}
}
我有几个由多个文件分布的类,它们都共享相同的命名空间。据我了解,如果我对所有类都有相同的命名空间,它们都可以相互访问,而无需放置 NAMESPACE::class_x,因为它们都属于同一个命名空间。
我想了解的是为什么在上述特殊情况下需要使用关键字class
or namespace::
before X& x
。
它是否与作为虚函数的X
继承有关,然后“覆盖”在中?IZ
X