c ++如何按类类型对向量进行排序

Jos*_*ter 1 c++ sorting class vector

我有一个基础类"mediaInfo",有三个派生类"书""视频"和"音乐".在我的主文件中,我有一个声明为"mediaInfo"类型的向量,它动态分配内存并将vector元素分配给"mediaInfo""Book""Video"或"Music",这取决于测试脚本的输入.该代码的另一个功能是按类型(书籍,视频,音乐,媒体信息),名称和媒体值对矢量元素进行排序.我有名字,我正在努力解决如何按类型排序.如果需要,我可以提供代码.谢谢.

sha*_*awn 5

向MediaInfo添加虚拟方法以提供排名信息.例如:

class MediaInfo {
public:
    virtual int rank() = 0;
};

class Book : MediaInfo {
public:
    virtual int rank() { return 100; }
};

class Video : MediaInfo {
public:
    virtual int rank() { return 200; }
};
Run Code Online (Sandbox Code Playgroud)

然后你可以按obj->rank()其他信息排序;