怎么在Qt的QList或QMap中放入同一个父类的不同子类对象?
如下面代码,往里面加入Dog和Cat后,提取出来却变成Animal了
class Animal
{
public:
int a = 0;
};
class Dog : public Animal
{
public:
int a = 1;
};
class Cat : public Animal
{
public:
int a = 2;
};
QList<Animal> animals;
animals.append(Dog());
animals.append(Cat());
foreach (auto iter, animals) {
cout << iter.a << endl;
}
输出:
0
0
0