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

In which file do we put non-member function in C++?

本文关键字:成员 函数 文件 我们将      更新时间:2023-10-16

在C 中非会员函数时,正常实践是什么?我们是将它们放入main.cpp或标头文件或类实现文件中,还是为其制作一个单独的.cpp文件? 如果正常的做法是制作一个单独的文件,那么我们将非会员功能标头(原型(放在哪里?它仅在main.cpp或两个中使用吗?

我会说您不应该对非成员的函数对类,成员函数和其他符号有所不同。

您应该为您的应用程序的每个逻辑组件(模块(创建一个独特的 .h和相应的源文件 source文件 .cpp。<<<<<<<<<<<<<<<<<<<</p>

所有公共符号均应在标题文件中声明/定义

(无论它们是非会员函数还是其他函数(,并且所有非公开符号和所有必需的定义都应在中进行。源文件

简而言之

您的类应该有自己的.cpp文件。非会员功能应在其他文件中进行(全部根据相似性一起分组(。这就是北美的惯例,但惯例有所不同。原型只需要进入标头文件,因此您可以在任何使用的地方包括它。

伪代码中的一般思想:

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

只要汇编,您就应该考虑可读性(任何人易于阅读(和可访问性(任何人都可以找到和调试(。