Lia*_*amK 1 c++ polymorphism inheritance class derived
可能重复:
有没有办法从保存其类名的字符串中实例化对象?
我正在在具有基类一些C++代码中的问题InputFile,和多个派生类的:TxtInputFile,ASCInputFile,等等,其中每一个派生类是一个特定的输入类型.
我希望能够做的是从命令行中取一个变量,然后生成正确的派生类对象来处理指定的文件类型(例如,用户TXT在命令行中指示,因此,我生成一个TXTInputFile对象并在InputFile标签下返回以供在程序的其余部分使用).
我可以使用一串IF/'ELSE`语句来做这个,将用户输入与一堆预定的文件代码进行比较,但是我希望将来能够添加对新文件类型的支持而无需编辑字符串if语句和添加新文件代码等
有没有办法在运行时访问所有派生类的一些编译器生成的表到基类?
或者可能是某种基于传递参数等于动态绑定的多态构造函数?
(例如InputFile(string)...... TXTInputFile(string temp = "TXT"),ASCInputFile(string temp = ASC")......我意识到这是参数默认值的格式,只是试图用我的思路来表明我的目标.)
提前致谢.
| 归档时间: |
|
| 查看次数: |
154 次 |
| 最近记录: |