你能用C ++在一个类中拥有可变数量的变量吗?

时间:2015-05-13 10:52:54

标签: c++ class variables containers

这是我在这里的第一个问题,而且我对编程技术还不是很熟练,所以如果我做错了,我会道歉。也就是说,我在询问这个问题之前在这里和谷歌都进行了搜索,所以如果存在重复,那是因为我不知道如何找到它。

我的问题是根据标题。

我试图编写一个小程序星系统生成器来刷新我的记忆并帮助提高我的编程技巧。我想为太阳系创建一个类来保存恒星和行星上的数据,每个星球和行星也都是一个类。所以说明我的问题需要澄清:

有没有办法避免必须申报10个不同的" planetClass"类中的项目,而是定义一个可以根据需要进行扩展的项目?如果没有,是否有替代方案,或者我只是要完全定义所需的最大变量?

1 个答案:

答案 0 :(得分:3)

您只需定义一个Planet类来存储每个星球的数据,然后将std::vector<Planet>数据成员添加到“外部”类中。

std::vector是标准的STL容器类模板,可以动态地(即在运行时)调整大小。您可以使用Planetpush_back()方法向其添加新项目(在您的情况下为emplace_back()个实例)。