-1

编辑:对不起这个问题,真的不知道我在问什么。Stackoverflow 不允许我删除这个问题,哈哈。如果mod看到这个,请删除。

这是我遇到问题的代码的“最小化”版本:

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

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

    return 0;
}

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

4

1 回答 1

2

如果我理解正确,您需要为整个 Zombies 阵列提供一个纹理,而为 Player 提供另一个纹理。

没有办法自动执行此操作 - 您的选择是让类的所有实例共享一个static成员,或者让每个对象包含自己的成员。

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

于 2013-01-18T20:19:27.590 回答