c++ 定义继承类时作用域操作符(::)做什么?[关闭]

41zrol4v  于 2023-05-19  发布在  其他
关注(0)|答案(1)|浏览(96)

已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

20小时前关闭。
Improve this question
我发现下面的类定义令人困惑:

class Foo::Bar : public Example::Code
{
  // code
}

我从来没有见过这样定义的继承类。为什么用作用域操作符定义它?它到底继承了什么?

wgeznvg7

wgeznvg71#

作用域解析在任何地方都意味着同样的事情:Bar是名为Foo的作用域中的(类的)名称,Code是名为Example的作用域中的(类的)名称。

namespace Foo {
    class Bar;
}
namespace Example {
    class Code;
}

然后

class Foo::Bar : public Example::Code
{
  // code
};

或者,作用域可能是类,但基本上这是相同的。

struct Foo {
    class Bar;
}
struct Example {
    class Code;
}

相关问题