为什么.cpp文件中的所有变量都不在 .h 文件中?

Why aren't all the variable in .cpp file in the .h file?

本文关键字:文件 cpp 为什么 变量      更新时间:2023-10-16

所以我在这里查看虚幻文档:https://docs.unrealengine.com/latest/int/programming/quickstart/3/index.html

在Step2中,它们在.h文件中创建 float Runningtime ,然后在Step3中的CPP文件中使用它,我理解。我不明白的是在CPP文件中,它们创建了 fvector newlocation float deltaheight ,但他们没有将它们添加到.H。

为什么在.h中运行时间,其余的不在?.h文件中的数据有什么特殊信息?

谢谢

编辑:

我了解范围方面。我很抱歉不清楚。我的困惑是,运行时间没有设置在任何地方。它在CPP中,在tick函数中使用,但值是..什么?我在虚幻引擎中运行了此操作,它有效,但是(thevalueof)运行时间是什么?

您指出的本教程的目的是创建类AFloatingActor,然后可以实例化。RunningTime变量是类的一部分,因为它被定义为public

public:
    float RunningTime;

可以在班级外访问(查看公共/私人课程成员和方法)。

与此相反,FVector NewLocationfloat DeltaHeight是仅在方法AFloatingActor::Tick中使用的局部变量。因为它们仅在此成员(函数)中使用,而在类中其他任何地方都不是类接口的一部分,所以它们不需要它们是类变量。

如果它们将在.h文件中(因此是类变量),则只要类实例化并保持生命时,就会创建它们。但是没有必要,因此,当调用AFloatingActor::Tick时,它们会创建它们,它们会发挥作用,然后被破坏,因为它们是该方法的局部变量。

这也是您第二个问题的答案:" .h文件中的数据有什么特别的?"。

总结一下:在类的.h文件中,您可以编写类界面。它由

组成
  • 公共变量/方法:这是该类的变量/方法,可以在类之外访问
  • 私人变量/方法:此变量/方法仅在此类中使用,无法从外部访问它们,并且可以与此类中的所有方法共享
  • 受保护变量/方法:例如,在这里查看:私人与受保护变量

在类的.cpp文件中,类实现了类(每种方法的实现)。

有关更多信息,例如。