在 C++ 中 class 中可以有可变数量的变量吗?
Can you have a variable amount of variables in a class in C++?
这是我的第一个问题,我对编程还不是很熟练,所以如果我做错了什么,我深表歉意。也就是说,我在提问之前在这里和 Google 上都进行了搜索,所以如果存在重复项,那是因为我不知道如何找到它。
我的问题如题
我正在尝试编写一个小程序星系统生成器来刷新我的记忆并帮助提高我的编程技能。我想为太阳系创建一个 class 来保存恒星和行星的数据,每一个也将是一个 class。因此,为了说明我的问题以供澄清:
有没有一种方法可以避免在 class 中声明 10 个不同的 "planetClass" 项,而是定义一个根据需要缩放的项?如果没有,是否有替代方案,或者我是否必须完全定义所需的最大变量?
您可以简单地定义一个Planet
class来存储每个行星的数据,然后在您的"outer" class中添加一个std::vector<Planet>
数据成员.
std::vector
是一个标准的 STL 容器 class 模板,可以动态调整大小(即在 运行 时)。您可以使用其 push_back()
或 emplace_back()
方法向其中添加新项目(在您的情况下:Planet
个实例)。
这是我的第一个问题,我对编程还不是很熟练,所以如果我做错了什么,我深表歉意。也就是说,我在提问之前在这里和 Google 上都进行了搜索,所以如果存在重复项,那是因为我不知道如何找到它。
我的问题如题
我正在尝试编写一个小程序星系统生成器来刷新我的记忆并帮助提高我的编程技能。我想为太阳系创建一个 class 来保存恒星和行星的数据,每一个也将是一个 class。因此,为了说明我的问题以供澄清:
有没有一种方法可以避免在 class 中声明 10 个不同的 "planetClass" 项,而是定义一个根据需要缩放的项?如果没有,是否有替代方案,或者我是否必须完全定义所需的最大变量?
您可以简单地定义一个Planet
class来存储每个行星的数据,然后在您的"outer" class中添加一个std::vector<Planet>
数据成员.
std::vector
是一个标准的 STL 容器 class 模板,可以动态调整大小(即在 运行 时)。您可以使用其 push_back()
或 emplace_back()
方法向其中添加新项目(在您的情况下:Planet
个实例)。