C++类中的标头和代码
Header and Code in C++ classes
我刚刚开始学习一些C++教程,我遇到了一些我似乎无法理解的东西。
C++似乎人们正在使用代码文件和头文件,对我来说,这似乎不方便。为什么我想在两个文件之间切换只是为了编写一个简单的 getter 方法。
它被认为是在C++中使用标头的"正确"方式吗?还是只是我拿起的教程使用它?
我得到了拆分代码以使其看起来更干净的想法,但除此之外还有其他好处吗?
提前谢谢。
使用 hpp(header)- 和 cpp(code)-文件有一些原因。其中之一是:库(dll-或so-file)不能像java中的jar文件那样"使用"。如果你写一个库,你必须提供类的声明,methos,...以 HPP 文件的形式。
考虑使用您在其他文件中编写的类。如果将类定义放在单独的文件中,则可以通过将头文件包含在计划使用此代码的位置来帮助编译器确定如何使用该类。
编译器只需要知道你是否正确使用了类(它不关心如何运行它,直到链接),因此你需要给编译器的只是类(头文件)的声明,进行错误检查。当你说"include"
时,预处理器只是将头文件内容复制并粘贴到新文件中,以便新文件现在知道如何使用你编写的类。
存储了很多信息,如果在你制作的每个程序中都使用C ++中的每个"头"文件制作了C ++,那么当你从iostream编写一个函数时,程序将遍历每一个头文件只是为了找到正确的头文件。 所以他们用 C++ 制作了 #inlcude 函数, 因此,您可以指定函数的来源。
当你创建一个程序时,你可以制作自己的头文件,所以代码设置得更好。 然后,您不必在一个主源文件中编写大量代码行,而是可以导入其他代码。 就像你正在制作一个游戏,一个动物的头文件,在该头文件中你有一个猫类, 还有一个给狗的。拥有更干净的代码。
在 C/C++ 中,标头用于在类之间共享类结构(以及其他内容)。
所以可以使用
包括"classFOO.h"
在classBAR.h(或classBAR.cpp)中使用classFOO。
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 代码在main()中运行,但在函数中出现错误
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 编译包含字符串的代码时遇到问题
- 我在c++代码中生成了一个运行时#3异常
- 如何在linux终端中同时编译和运行c++代码
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 在Linux for Windows上编译C++代码时出错
- 我的字符计数代码计算错误.为什么
- 孤立代码块在结构中引发异常
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 此代码是否违反一个定义规则
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 为什么在这个代码结束循环中没有得到结束
- 在c代码之间共享数据的最佳方式
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值