namespace nanxing_extend { //这是个意外,本来是想工厂类和不同的过滤器划分到不同文件的,但是由于贯彻head_only,还没想出来怎么组织文件,只能丢在一起了 //但是但是相信我不会有God class class FilterPolicy { private: FilterPolicy& operator=(FilterPolicy const&)=delete; FilterPolicy(FilterPolicy const&)=delete; public: //限制当主动生成一个工厂类后,不管怎么赋值,最后只有一个工厂 //move-only FilterPolicy(){}; FilterPolicy(FilterPolicy&&){}; //两个工厂函数用于生成不同的过滤器 FilterPolicy* creat_Bloomfilter(); FilterPolicy* creat_Cuckoofilter(); }; class bloomfilter:public FilterPolicy { }; class Cuckoofilter:public FilterPolicy { }; FilterPolicy* FilterPolicy::creat_Bloomfilter() { return new bloomfilter; } FilterPolicy* FilterPolicy::creat_Cuckoofilter() { return new Cuckoofilter; } }