我有以下 3 个文件(1 *.cpp 和 2 *.hpp):
主程序文件:
// test.cpp
#include<iostream>
#include"first_func.hpp"
#include"sec_func.hpp"
int main()
{
double x;
x = 2.3;
std::cout << sec_func(x) << std::endl;
}
——
first_func.hpp 头文件:
// first_func.hpp
...
double first_func(double x, y, x)
{
return x + y + x;
}
——
sec_func.hpp 头文件:
// sec_func.hpp
...
double sec_func(double x)
{
double a, b, c;
a = 3.4;
b = 3.3;
c = 2.5;
return first_func(a,b,c) + x;
}
如何从 sec_func.hpp 文件中正确调用 first_func?
最佳答案
将函数定义放在.hpp
文件中是一个不好的做法。你应该只在那里放置函数原型(prototype)。像这样:
first_func.hpp:
double first_func(double x, double y, double x);
first_func.cpp:
double first_func(double x, double y, double x)
{
return x + y + x;
}
第二个功能相同。
然后,无论您想在何处调用
first_func
,只需在该 first_func.hpp
模块中包含相应的 cpp
并编写调用。因此,您的每个模块都由带有所有声明的
hpp
和带有定义(即主体)的 cpp
组成。当您需要从该模块中引用某些内容时,您可以包含其 hpp
并使用名称(常量、变量、函数等)。然后您必须将所有内容链接在一起:
gcc main.cpp first_func.cpp second_func.cpp -o program
关于c++ - 如何从 C++ 中的另一个头文件调用函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11602742/