创建和定义类(在“h文件”中)之后。 除了“h file”(属于该类)之外,我如何决定创建(或不创建)“cpp文件”(仅适用于该类)?
答案 0 :(得分:2)
这是一个让你前进的小例子。
这是Foo的头文件。我们称之为“foo.h”
#pragma once
#ifndef FOO_H
#define FOO_H
class Foo{
public:
void function();
protected:
private:
};
#endif
这是Foo的源文件。我们称之为“foo.cpp”
#include "foo.h"
void Foo::function(){
// ... implement ...
return;
}
将它们编译在一起,我们可以创建一个目标文件。我们称之为“foo.o” 如果您链接“foo.o”,则可以在程序中使用您的课程 示例:
#include "foo.h"
int main(){
Foo foo;
foo.function();
return 0;
}
答案 1 :(得分:1)
h文件是描述符文件,它描述了函数/类的签名,因此其他cpp文件中的其他类可以使用它。
您需要将h文件视为合同。你宣布有义务。
稍后,当您决定实施cpp时,您将履行义务。
其他类/ cpp文件可以单独依赖您的义务,假设您还将在cpp中实现义务。
例如:
答案 2 :(得分:0)
最佳做法是分离头文件和实现文件,以便在头文件.h中定义类并在.cpp文件中实现它,这将帮助您跟踪和调试错误并显示干净的代码,
请注意,在模板类中,必须在单独的头文件中定义它,以便通过将模板与普通类分开来保持代码结构良好和干净