我有以下 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/

10-14 07:15