inline
bool compare(const Sales_item& lhs, const Sales_item& rhs)
{
return lhs->book() < rhs->book();
}
class Basket
{
typedef bool (*Comp)(const Sales_item&, const Sales_item&);
public:
typedef multisetset_type;
typedef set_type::size_type size_type;
typedef set_type::const_iterator const_iter;
///默认构造函数,将比較函数确定为compare
Basket():items(compare){} ///不懂呢 ------这里这里这里-------
void add_item(const Sales_item &item)
{
items.insert(item);
}
size_type size(const Sales_item & item)const
{
return items.count(item);
}
double total()const;
private:
multiset items;
};
×××××××××××××××××××××××××××××
Basket():items(compare){}
这里compare换成*Comp为什么不对呢