C++:为类中对象的数据成员赋值
C++ : assign values to data members of an object within a class
我正在尝试制作一个战斗序列。现在我只是在做原型。
我想做的是为类中的战斗序列定义一个函数,并初始化不同的怪物进行战斗。我在.h文件中创建了一个名为"monster"的数据结构。然后,我在类中初始化怪物老虎。但是当我进入我的cpp来给出它的声音和图片时,我会遇到错误。
我最终想做的是:
#include <iostream>
#include "CombatSeq.h"
int main() {
// Initiate Combat with a Tiger.
CombatSeq c;
c.fight(c.tiger);
}
这是我的代码:
.h文件:
#ifndef SOURCE2_COMBATSEQ_H_
#define SOURCE2_COMBATSEQ_H_
#include <iostream>
struct monster {
std::string sound;
std::string picture;
};
class CombatSeq {
public:
void fight(monster t);
monster tiger;
private:
};
#endif /* SOURCE2_COMBATSEQ_H_ */
cpp文件:
#include "CombatSeq.h"
#include <iostream>
void CombatSeq::fight (monster t) {
std::cout << t.picture;
std::cout << t.sound;
}
// What would I put here to give tiger.sound & tiger.picture values?
// I have tried:
monster CombatSeq::tiger;
CombatSeq::tiger.sound = "tiger.ogg";
// But to no avail.
谢谢你的帮助!
有很多方法可以做到这一点。构造函数可能是一个不错的选择。不过,这会让你达到你想去的地方。。。。
int main() {
// Initiate Combat with a Tiger.
CombatSeq c;
c.tiger.sound = "tiger.ogg";
c.tiger.picture = "tiger.jpg";
c.fight(c.tiger);
}
也就是说,CombatSeq有一个怪物类型的成员对我来说意义不大。如果没有更多的信息,很难推荐更好的方法。
相关文章:
- 如何为结构的数据元素赋值
- 我们可以直接为任何数据成员赋值. 为什么要使用构造函数?
- 具有临时对象的 Fundamenta 数据类型赋值运算符
- 非静态数据成员初始值设定项仅适用于 和动态内存
- 从一个类的数据成员的值从另一个类更改
- 通过迭代器为映射的成员赋值
- 为什么不能为基类的成员赋值?
- 如何使用其他函数返回的值为结构体成员赋值
- 当我们给char数据类型赋值为负值时,它为什么表现得像int数据类型
- 创建多个实例后,静态数据成员的值是多少
- C++:为类中对象的数据成员赋值
- 如何从成员函数设置类静态数据成员的值
- c2797 成员初始值设定项列表或非静态数据成员初始值设定项中的列表初始化未实现
- 在C++中,如果我们不在构造函数中初始化数据成员,那么类中数据成员的值会是多少
- 不允许使用C++数据成员初始值设定项
- 如何在 gdb 中获取数据成员的值
- 如何为所有结构成员赋值
- 使用双指针为结构的成员赋值
- C++:成员赋值如何工作
- c++扑克游戏中的数据成员赋值