【发布时间】:2023-03-18 13:48:01
【问题描述】:
我有一个类似下面的代码:
class News {
public:
virtual void get() = 0;
}
class Cnn : News {
void get () {...}
}
class Msnbc : News {
void get () {...}
}
class Bbc : News {
void get () {...}
}
main ()
{
News * news = new Cnn;
news->get ()
News * news = new Msnbc;
news->get ()
News * news = new Bbc;
news->get ()
}
除了创建每个子类之外,存储子类(Cnn、Msnbc ...)并迭代并从所有提要中获取新闻的最佳方法是什么(我不能在一会儿)
谢谢
【问题讨论】:
-
为什么不能使用 STL?这就像说你不能使用 C++ :( 作业?
-
不使用STL的原因是什么?你应该使用一个容器类——即使是本土的——来管理分配。 (RAII - stackoverflow.com/questions/712639/…)。如果这也不是一个选项,那就是
new News *[] -
代码在嵌入式设备上运行,使用STL时链接器产生错误。它必须与 IO 做一些事情。
-
STL 将为您编写的任何主要项目节省时间 - 除非您真的想为您的自定义链表类进行单元测试。
-
我知道 C++ 在嵌入式方面的痛苦——就像被弹回到 90 年代初期一样。尽管如此,我还是强烈建议您尝试解决 STL 问题
标签: c++ class abstract-class