2013-01-18 104 views
-1

这里是我有问题的代码的“最小化”版本:静态数组,C++

class Texture { 
}; 
class MyClass { 
    static Texture Image; 
}; 

int main() { 
    vector<MyClass> Zombies; // The array Increases in the program 
    MyClass Player; 

    return 0; 
} 

所以我的问题似乎是两个对象使用相同的纹理,我知道这是怎么static作品,但我不知道如何制作一个只覆盖每个阵列的静态。

+1

我不明白你在问什么......我不确定代码演示的是什么! (我不确定它会编译...) –

+6

所以你使用静态,知道它做什么,并想知道如何使它不这样做?简单 - 不要使用它。 – 2013-01-18 20:16:02

+0

我不明白你的帖子。你能澄清你所遇到的问题吗?例如,两个对象是否有不同的纹理?想要一个单一的纹理?你想要多个纹理吗?你从什么库找到纹理? – Mikhail

回答

2

如果我理解正确,你想为整个僵尸阵列和另一个纹理玩家。

没有办法自动做到这一点 - 您的选择是让该类的所有实例共享一个static成员,或让每个对象都包含它自己的对象。

如果单独分离纹理并让对象包含引用或指针,则可以用这种方式共享纹理对象。这将取决于您在每个对象的构造函数中初始化引用或指针。