我需要将所有内容都放在 C++ 的类中吗?

Nee*_*ath 0 c++ class function

我被告知 C++ 中的所有内容(即使它没有被实例化,但在多个地方使用)都必须放在一个类中。尽管我知道我不必这样做,但我不知道哪个更糟糕:创建一堆不会被实例化的类,或者在 main.cpp 中拥有一堆函数。

如果我按照别人告诉我的去做,这里有一些示例代码:

#include <iostream>
using namespace std;

int main(){
// line of code to call class that acts as a calculator
}
Run Code Online (Sandbox Code Playgroud)

Zde*_*vic 5

不,你不应该把所有的东西都放到课堂上。谁告诉你那是错的。

C++ 不仅仅是一种 OO 语言,它是一种多范式语言。此外,将所有内容放入类中并不意味着代码是面向对象的(特别是因为对于静态方法,您不需要实际的对象,只需要类型)。

如果你检查 C++ 标准库,你会发现它包含许多不属于任何类的函数(检查<algorithm>或的内容)<numeric>库的内容以获取示例)。

在很多方面,非成员函数可以改进您的代码

如果您需要在逻辑上分离功能以避免将所有内容都放在全局范围内,您可以而且应该使用名称空间。例如前面提到的算法都放在std命名空间中。