gpt4 book ai didi

c++ - 如何制作一个既能容纳基类又能容纳派生类的列表?

转载 作者:行者123 更新时间:2023-11-28 02:29:04 25 4
gpt4 key购买 nike

好吧,我有一个 Blade 类(基类)和一个名为刀和剑的 Blade 子类

class blades{
...
}
class knifes:public blades{
...
}
class swords:public blades{
...
}

现在我想从#include 中创建一个列表可以存储有关刀剑的信息

int main(){
knifes k1;
swords swd1;
list<blades> list;
k1.input();
list.push_front(k1);
swd1.input();
list.push_front(swd1);
};

现在我可以将它们插入到列表中;但是,我不知道如何从列表中访问它们,如果能帮助子类确实具有 output() 函数,那么任何有关如何操作的帮助都会很棒

最佳答案

您需要的是指向基类的唯一指针列表:

list<unique_ptr<base>> your_list;

然后,您可以使用 base derived 类的实例填充它。

关于c++ - 如何制作一个既能容纳基类又能容纳派生类的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29479445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com