C++的新手试图弄清楚类约定

New to c++ trying to figure out class conventions

本文关键字:弄清楚 约定 新手 C++      更新时间:2023-10-16

嗨,我对 c++ 相当陌生,在编码类方面我遇到了一些问题。

虽然我知道与类相关的每个函数都应该是该类的成员函数。

我不确定如何处理实际上不属于任何类的简单函数。 例如帮助消息。 它们与任何对象无关,所以我把它们放在哪里? 在自己的类中称为杂项或实用程序或类似的东西? 还是我只是将它们放在与"sorta"相关的类中?

不属于任何类的函数只是将它们放在main((和任何类之外。 您还可以创建一个单独的.cpp和.h文件(.h用于声明,.cpp用于函数定义(来编写所有函数,然后将其包含在主文件中。

1(如果这是一个大项目,我会将类似的项目组合在一起,并将它们放在您推荐的misc.h文件中。为了防止混淆,您可以将它们作为类的静态成员函数,或者更简单地将它们放在命名空间中:

杂项

#include <iostream>
namespace misc {
void print(char *s) { std::cout << s << std::endl; }
}
// OR
class misc {
public:
static void print(char *s) { std::cout << s << std::endl; }
};
// static here allows calling the function without an object of type misc.

主.cpp

#include "misc.h"
int main() { misc::print("Hello, World"); } 

2(如果这是一个小项目,我不会太担心。我会把它们放在主函数上。

3(如果它们是用于实现其中一个类的辅助函数,我强烈建议在实现文件中将它们声明为静态。这可以防止与其他文件链接。

这看起来像这样:

答.cpp:

static int print(char *s) { std::cout << s << std::endl; }
A::A() { print("Constructed"); }