C++ 类初始化

标签 c++ class

C++ 和类

我有一个名为“Sprite”的类,初始化时它需要一个 bool 变量:

// constructor
Sprite::Sprite(bool type)
{ 
   // set stuff
}

// two Sprites of different types
Sprite Hero(1) 
Sprite Enemy(0)

问。如何初始化 100 个类型为 0 的 Sprites 数组?

Sprite 敌人[100] ?

最佳答案

我的建议是您使用 std::vector , 然后使用 constructor采取值(value)论证。

喜欢

std::vector<Sprite> Enemies(100, Sprite(false));

您可能需要为 Sprite 定义适当的复制构造函数和复制赋值运算符才能工作。


如果你没有 vector (或 std::array 这对你的情况可能更好),那么你必须将数组声明为普通数组,然后使用循环来初始化每个条目:

Sprite Enemies[100];
for (size_t i = 0; i < 100; ++i)
    Enemies[i].set(false);

关于C++ 类初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19116482/

相关文章:

c++ - 使用自定义模型从 QTreeView 中删除行

c++ - 在 OpenGL 中连续暂停

c++ - 访问父类(super class)类型成员对象的 protected 成员——一个优雅的解决方案

c# - 设计数据库交互时遵循单一职责原则

c++ - C++中的空间泄漏?

java - Tomcat 没有加载新类(.java 文件的编译版本而不是 JSP 文件)

java - 只能被自己的类或其他子类调用的Java方法

C++ - 如何在 Visual Studio 2010 中创建只读类成员变量

c++内部类的方法不起作用

c++ - inotify - 在目录树中的几个级别之后无法将监视添加到新创建的目录