-
说明
-
案例
-
书接上回
- 鞋贩子开通了一个小程序,允许客户在线选购。
- 就提供了选择和买卖的功能。
-
代码
#include<iostream> #include<string> #include<map> class CangKu { public: bool ChuHuo(std::string shangpin,int shuliang){ auto iter = shangpin_shuliang_.find(shangpin); if(shangpin_shuliang_.end() != iter) { while(shuliang >= iter->second) { std::cout << "xian you " << iter->second << " xu yao:" << shuliang <<" jin huo ....." << std::endl; iter->second += 50; } iter->second -= shuliang; } else { int count = 0; while(shuliang >= count) { std::cout << "xian you " << count << " xu yao:" << shuliang <<" jin huo ....." << std::endl; count += 50; } shangpin_shuliang_[shangpin] = count - shuliang; } return true; } bool TuiHuo(std::string shangpin,int shuliang) { auto iter = shangpin_shuliang_.find(shangpin); if(shangpin_shuliang_.end() != iter) { iter->second += shuliang; return true; } else { std::cout << "mei mai guo" << std::endl; return false; } } private: std::map<std::string,int> shangpin_shuliang_; }; class XiaoChengXu { public: bool MaiShangPin(std::string shangpin,int shu_liang){ return cangku_.ChuHuo(shangpin,shu_liang); } bool TuiShangPin(std::string shangpin,int shu_liang){ return cangku_.TuiHuo(shangpin,shu_liang); } private: CangKu cangku_; }; int main() { XiaoChengXu chengxu; chengxu.MaiShangPin("tuoxie",3); chengxu.MaiShangPin("liangxie",3); chengxu.TuiShangPin("qiuxie",3); } -
说明
- 卖不够就进货。
- 买没有这个商品就告知无售卖记录。
-
-
总结
C++ 12 外观模式
最新推荐文章于 2025-12-12 16:37:00 发布
本文介绍了外观模式,一种用于简化系统对外接口的设计模式。通过案例展示了如何使用外观模式来隐藏复杂的库存管理逻辑,仅提供简单的购买和退货功能。在代码中,`CangKu`类作为库存管理的外观,而`XiaoChengXu`类则对外提供购鞋和退鞋的简单操作。这种模式常用于分层结构,确保系统对外只暴露必要的接口,降低了系统的使用难度。
1426

被折叠的 条评论
为什么被折叠?



