我有一个基本上包含事件列表的类(其中事件是另一个类)
#include "event.h"
#include <list>
class EventPacket
{
private:
int max_size;
public:
std::list<Event> EventList;
EventPacket();
~EventPacket();
void add(Event *event);
int size();
void sort();
int merge(EventPacket *ep);
void clear();
};
到目前为止,这工作正常。但是现在,我有另一个类 SpecialEvent,它是 Event 类的扩展。我想使用同一个类 EventPacket 将特殊事件放入列表中,我想知道这样做的正确方法是什么?有没有一种方法可以在不定义其类型的情况下创建列表,以便可以在运行时设置类型(在我的情况下为事件或特殊事件)?