如何声明一个私有类成员?



程序将返回"C"。我怎么阻止它呢?

import std.stdio;
void main() {
    class A {
        private void B() {
            writeln("C");
        }
    }
    auto D = new A;
    D.B();
}

D中,private是模块私有的,而不是类私有的。所以,如果你想让一段代码不能访问类的成员,那么这个类必须在不同的模块中。

唯一的例外是,如果代码根本没有访问类,因为它在不同的范围内(例如,如果你在模块中有另一个函数,它无法访问A,因为它在main内部)。但是只要一段代码可以访问同一模块内的类,那么它就可以访问它的所有成员。

相关内容

  • 没有找到相关文章

最新更新