为了更好的理解继承和多态,做一个文本查询的小例子。 接口类:Query有2个方法。 eval:查询,返回查询结果类QueryResult rep:得到要查询的文本 客户端程序的使用方法: 接口类:Query,有一个私有的父类Query_base的智能指针。 父类Query_base有子类WordQu
QueryResultTextQuery::query(conststring&sought)const{//如果没有找到sought,返回指向此set的一个智能指针staticshared_ptr<set<line_no>> nodata(newset<line_no>);autoret = wm.find(sought);if(ret == wm.end()){returnQueryResult(sought, nodata, file);//没有找到}else{returnQueryResult(sought, ...