C++的新手试图弄清楚类约定
New to c++ trying to figure out class conventions
嗨,我对 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"); }
相关文章:
- 当我尝试添加 2 个大字符串时,我无法弄清楚出了什么问题
- 弄清楚如何在C++中将整数读入 ASCII
- 写一个分数类,我无法弄清楚这些错误
- 分段错误(核心转储)但无法弄清楚
- N-queen问题:无法弄清楚为什么我的解决方案不起作用
- 为什么我的编译器无法弄清楚这种转换,它何时存在?
- 任何人都可以弄清楚这段代码如何显示运行错误?它打印无限时间 -1 以及正确答案
- 循环不继续无法弄清楚为什么
- 我一直试图弄清楚我在这个链表程序中做错了什么
- 无法弄清楚为什么没有调用重载运算符 []
- 无法弄清楚如何使用 c++ 中的链表按从 a 到 z 的顺序显示字母
- 我无法弄清楚"对Winmain@16错误的未定义引用"
- 谁能弄清楚为什么我的循环会失败?
- 试图弄清楚我需要做哪些更改才能使代码正常工作.使用Visual Studio
- C++需要弄清楚为什么这个 for 循环不起作用
- 使用指针和引用,无法弄清楚为什么DFS无限重复
- 弄清楚这段代码是怎么回事(递归下降案例研究)
- 我无法弄清楚我的代码未显示预期结果的问题
- 我无法弄清楚我的代码出了什么问题
- C++的新手试图弄清楚类约定