gpt4 book ai didi

d - 如何在 D 中声明私有(private)类成员?

转载 作者:行者123 更新时间:2023-12-01 11:38:37 24 4
gpt4 key购买 nike

这个程序会回显“C”。我如何禁止这样做?

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

最佳答案

在 D 中,private 是模块私有(private)的,而不是类私有(private)的。因此,如果您希望一段代码无法访问某个类的成员,则该类必须位于不同的模块中。

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

关于d - 如何在 D 中声明私有(private)类成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24561121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com