我有一个类Goblin
,该类继承自Enemy
。
我正在尝试运行for
循环来设置所有地精的名称。但是循环没有设置名称,我得到了默认的“敌人”。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Enemy {
public:
string getName() {return name; }
void setName(string _name) { name = _name; }
private:
string name = "Enemy";
};
class Goblin : public Enemy {};
int main(int argc, char **argv)
{
Goblin g1,g2;
std::vector<Goblin> goblins={g1,g2};
for (Goblin x : goblins)
{
x.setName("test_name");
}
std::cout << goblins[0].getName();
return 0;
}