gpt4 book ai didi

c++ - 在不使用 STL 的情况下,在 C++ 中存储和实例化类列表的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-28 03:59:48 25 4
gpt4 key购买 nike

我有一个类似于下面的代码:

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,那么最好的办法是使用一组新闻*。

News*[] GetAllNews( int& count ) {
News*[] arr = new News*[3];
count = 3;
arr[0] = new Cnn();
arr[1] = new Msnbc();
arr[2] = new Bbc();
return arr;
}

int count;
News*[] arr = GetAllNews(count);
for ( int i = 0; i < count; i++ ) {
arr[i]->get();
}

// Now for the awkward cleanup
for ( int i = 0; i < count; i++ ) {
delete arr[i];
arr[i] = NULL;
}
delete[] arr;

关于c++ - 在不使用 STL 的情况下,在 C++ 中存储和实例化类列表的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1435442/

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