存储类中的对象列表

特维格

C ++的新手,试图弄清楚如何创建一个可以存储对象列表的类。

我有一个带有子类(例如三角形,圆形等)的表面类。我正在尝试创建一个名为Scene的类,该类可以存储所有表面的列表。

这是我要执行的操作的头文件。您如何在C ++中做到这一点?

class Scene

{
private:
    //background color elements 
    float bgRed;
    float bgGreen;
    float bgBlue;
    //array of different surfaces
    Surface surfaces[];  //<--- What I want


public:
    Scene();
    addSurface(Surface s);
};

有很多可能性,这里有一个简单的可能性std::vector

vector<Surface> surfaces;
...
addSurface(const Surface &s) //const and & are not strictly necessary, but better
{
    surfaces.push_back(s);
}  
...
//accessing like an array: surfaces[index]
//element count: surfaces.size()

这将s在插入时复制传递的对象()。如果您想要同一个对象,那么向量的更改也会影响对象“外部”(反之亦然),则需要一个附加的指针。
还要注意,复制Surface的子类对象将得到纯的Surface,而没有子类部分(对象切片)。如果需要该部分,则也将需要一个指针(如果还没有指针的话)。

//pointer variant
vector<Surface*> surfaces;
...
addSurface(Surface &s)
{
    surfaces.push_back(&s);
}  

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类中的Python存储列表

来自分类Dev

在C ++ 11 / C ++ 14中的类中存储对象类型的列表/映射

来自分类Dev

对象类中的静态列表

来自分类Dev

将数据存储在数组,对象,结构,列表或类中。C#

来自分类Dev

如何在python的列表中存储一个类对象的多个实例?

来自分类Dev

如何将原始类型存储在Hashmap或列表中作为值而不是包装类对象

来自分类Dev

如何在通用类数组列表中存储对象并按名称引用Java-Homework

来自分类Dev

类对象列表中的点列表

来自分类Dev

类中的C ++列表以存储用户输入

来自分类Dev

在类中存储不同通用类型的列表

来自分类Dev

在类中存储对对象的const引用

来自分类Dev

如何存储并访问ArrayList中的类对象?

来自分类Dev

如何存储并访问ArrayList中的类对象?

来自分类Dev

将类对象存储在 ArrayList 中

来自分类Dev

从存储在变量中的类创建对象

来自分类Dev

在Django模型中存储对象列表

来自分类Dev

如何检索存储在列表中的对象的引用?

来自分类Dev

在SharedPreferences中存储数组列表对象

来自分类Dev

如何删除多个列表中存储的对象

来自分类Dev

如何获取存储在列表中的对象的属性

来自分类Dev

从Java中其他类的对象列表获取对象列表

来自分类Dev

如何获取存储在AWS Bucket中的对象的存储类

来自分类Dev

在对基类的引用中存储派生类的对象

来自分类Dev

在Application类和静态类中存储全局对象

来自分类Dev

Dart中的类对象操作列表

来自分类Dev

如何从类关系中检索对象列表?

来自分类Dev

从Java中的对象获取类的列表

来自分类Dev

更改数组列表中对象的类

来自分类Dev

python 2.7中的类对象的级联列表

Related 相关文章

热门标签

归档