我们在哪个文件中将非成员函数放在C ++中?

时间:2017-05-02 23:57:54

标签: c++ oop non-member-functions

在C ++中使用非成员函数时,通常的做法是什么?我们将它们放在main.cpp或头文件或类实现文件中,还是为它们创建一个单独的.cpp文件?      如果通常的做法是创建一个单独的文件,那么我们在哪里放置非成员函数头(prototype)?它只在main.cpp中或两者中都有吗?

3 个答案:

答案 0 :(得分:4)

我想说你不应该对类和成员函数以及其他符号区别对待非成员函数。

您应为每个逻辑组件创建不同的标头文件 .h和相应的源文件 .cpp (模块)您的申请。

所有公共符号都应在头文件中声明/定义(无论它们是非成员函数还是其他函数),所有非公共符号和所有必需的定义都应该在中源文件

简而言之,根据逻辑程序组件进行分组,而不是按符号/函数的类型进行分组。

答案 1 :(得分:0)

您的类应该有自己的.cpp文件。非成员函数应该放在其他文件中(所有文件一起或根据相似性分组)。这是北美的惯例,但惯例不同。原型只需要进入头文件,这样你就可以在任何地方使用它。

答案 2 :(得分:0)

伪代码中的一般想法:

if (it will be used in other cpp files) 
    put the declaration in a header file. 
    implement it in a header or a cpp file.
else 
    if (only need it in some functions in a header file)
        if (it's a function more than N line )  // please define this N in your mind
            declare it in the same header and implement it in a cpp file
        else
             put it in the same header file
    else // used in cpp only
        put it in the cpp file

只要编译,您就应该考虑可读性(任何人都可以轻松阅读)和可访问性(任何人都可以轻松查找和调试)。