gpt4 book ai didi

C++:当不是所有的派生类都预先知道时使用继承?

转载 作者:行者123 更新时间:2023-11-30 01:25:14 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Is there a way to instantiate objects from a string holding their class name?

我正在处理一些具有基类 InputFile 和许多派生类的 C++ 代码中的问题:TxtInputFileASCInputFile 等,其中每个派生类都是特定的输入类型。

我想做的是从命令行中取出一个变量,然后生成正确的派生类对象来处理指定的文件类型(例如用户指定的 TXT关闭命令行,因此,我生成了一个 TXTInputFile 对象并在 InputFile 标签下返回以供程序的其余部分使用)。

我可以用一串 IF/'ELSE` 语句来做到这一点,将用户输入与一堆预先确定的文件代码进行比较,但我希望能够添加对 future 新的文件类型,无需编辑一串 if 语句和添加新的文件代码等。

有什么方法可以在运行时访问某个编译器生成的所有派生类表到基类吗?

或者也许是某种基于传递的参数等于什么而动态绑定(bind)的多态构造函数?

(例如 InputFile(string)... TXTInputFile(string temp = "TXT"), ASCInputFile(string temp = ASC")...我意识到这是参数默认值的格式,只是想说明我的思路。)

提前致谢。

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