向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()其他信息排序;