C ++ for循环不遍历数组?

时间:2020-05-05 02:48:53

标签: c++ for-loop reference stdstring

我有一个类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;
}

0 个答案:

没有答案