【问题标题】:Initialize variables in a class method?在类方法中初始化变量?
【发布时间】:2020-07-26 20:05:19
【问题描述】:

我有一个愚蠢的问题:

我有一个类,在它的一个方法中,我必须进行一些计算,并且我需要声明一些对此有用的变量。例如:

class Percettrone {
public:
    Percettrone(double NL);
    void fit(double X, double y);
}
.
.
.
void Percettrone::fit(double X, double y)
{
        double delta[50][50];
        double conteggio=0;
        //calculations
}

正确吗?还是在创建类时声明更好?此外,我必须在我的程序中调用这个方法很多时间

【问题讨论】:

  • 这是可行的解决方案。除非您有性能问题并确定它是局部变量的创建/初始化,否则无需将它们作为成员数据移动。
  • 如果变量是特定于工作的并且不会在此类的另一个方法中使用,那么将它们用作本地变量是正确的,但是,如果有一些重复性,我建议你让他们成为会员。
  • 我是一个懒惰的程序员,独自工作,除非我需要,否则我不会打扰做 .h 文件,所以我通常在类内而不是在类外声明它。您进行类定义的方式,仅声明定义而不声明任何值意味着该类可以包含在单独的 .h 文件中,其中声明的方法包含在您的 .cpp 文件中。这种分离使代码更具可读性,但如果你问我,它可能会有点矫枉过正。
  • 如果Percettrone::fit 中需要变量,那么这是声明它们的正确位置。为什么要将它们放在其他地方?

标签: c++ class variables initialization


【解决方案1】:

如果这些变量影响对象实例并识别其状态,那么您必须在类中将它们声明为属性。另一方面,如果它们只是函数中的辅助变量,并且您不需要在其他任何地方使用它们,那么就像在示例中所做的那样,将它们设置为函数内部的本地变量。

【讨论】:

    猜你喜欢
    • 2017-02-23
    • 2019-08-02
    • 1970-01-01
    • 2022-10-20
    • 2016-11-03
    • 2017-10-23
    • 2010-10-06
    • 2020-03-27
    • 1970-01-01
    相关资源
    最近更新 更多