为什么.cpp文件中的所有变量都不在 .h 文件中?
Why aren't all the variable in .cpp file in the .h file?
所以我在这里查看虚幻文档: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 NewLocation
和float DeltaHeight
是仅在方法AFloatingActor::Tick
中使用的局部变量。因为它们仅在此成员(函数)中使用,而在类中其他任何地方都不是类接口的一部分,所以它们不需要它们是类变量。
如果它们将在.h文件中(因此是类变量),则只要类实例化并保持生命时,就会创建它们。但是没有必要,因此,当调用AFloatingActor::Tick
时,它们会创建它们,它们会发挥作用,然后被破坏,因为它们是该方法的局部变量。
这也是您第二个问题的答案:" .h文件中的数据有什么特别的?"。
总结一下:在类的.h文件中,您可以编写类界面。它由
组成- 公共变量/方法:这是该类的变量/方法,可以在类之外访问
- 私人变量/方法:此变量/方法仅在此类中使用,无法从外部访问它们,并且可以与此类中的所有方法共享
- 受保护变量/方法:例如,在这里查看:私人与受保护变量
在类的.cpp文件中,类实现了类(每种方法的实现)。
有关更多信息,例如。
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 命名空间中具有.h和.cpp文件的类
- 为什么我的主文件.cpp不打印头文件中的任何内容
- 生成文件错误 - 找不到文件 - *.cpp
- 如何在文件.cpp gtkmm中声明小部件
- 没有实现文件(.cpp)的派生类
- 如何使用"CMakeLists.txt"中的add_library将整个文件(.cpp,.h等)包含在目录中
- 如何在Linux / Windows操作系统上使用文件*.cpp一步编译下面的代码
- 关于 Linux .so 文件无法链接到主文件.cpp文件
- 文件.cpp从Windows到Linux
- Ubuntu C++ 编译器错误: g++: 错误: 文件.cpp: 没有这样的文件或目录
- 如何将文件.cpp编译为本机编译
- 使用模板类时,似乎无法包含除 main 以外的任何 cpp 文件.cpp
- 无法编译C++文件.cpp。C++98模式
- 为什么C++头文件不需要包含实现文件 (.cpp)
- 如何访问位于独立文件(.cpp)中的非成员函数
- 如何在Visual Studio Code中通过键盘快捷键切换头文件/cpp文件
- 如何将数据从stringstream写入文件(CPP)
- 为什么filestream不把空白写入文件cpp ?