类的私人Load()方法,它们是如何工作的

我对C++非常陌生,我遇到了一些代码,我遇到了麻烦,希望有人能够启发我。这是我所了解的单身人士课程,它用于保存应用程序的设置。该类有一个私有构造函数和一个私有的Load()方法。它也实例化自己作为一个私人成员,这一切似乎都没问题。类的私人Load()方法,它们是如何工作的

private: 

MySettings(void);

MySettings(const MySettings&);

static MySettings& GetInstance();

bool Load();

private:

static MySettings mySettings;

类的Load()方法内的代码似乎正在执行,但我不明白为什么。我不是(不能?)在我的应用程序的任何地方调用它。方法名称是否具有任何特殊意义的“负载”?我还没有看到任何讨论类的特殊“加载”方法的C++指南。

如果有人能在正确的方向点坐标我的感激,感谢

回答:

具有特殊意义的是main功能,当您启动程序,它就会自动调用的唯一方法。然而,负载没有特别的意义。其目的是为了避免在构造对象时加载数据,以防万一它在任何地方传递(并且所有副本最终会反复加载数据)。

总之,没有。它没有特别的意义。您必须将其称为某处。由于它是私人的,你应该检查你的构造函数。这可能是调用Load。

回答:

对于名为Load的方法没有什么特别之处。如果你认为它已经被执行了,它会被明确地调用。要么它从你的班级的另一种方法中调用,要么这个班级让另一个班级或方法成为朋友,而另一个实体发起呼叫。

回答:

的关键是这样的:

private: 

static MySettings mySettings;

这宣告MySettings的静态实例。静态实例在main()运行之前构造。 (。因此,构造函数被调用,然后)

某处在一个.cc文件,你会发现这样的事情:

MySettings MySettings:mySettings; 

...这是与声明去定义。

实际上,这是创建单身人士的一种有点聪明的方式。

(更新:我猜的构造函数调用加载()。)

以上是 类的私人Load()方法,它们是如何工作的 的全部内容, 来源链接: utcz.com/qa/263455.html

回到顶部