这段代码实现了一个简单的工厂模式。下面对每行代码进行解释:

  1. '#include ':包含了 iostream 库,用于输入输出流操作。
  2. 'using namespace std;':使用 std 命名空间,这样就可以直接使用 cout 和 endl 等标准库的函数。
  3. 'class Product':定义了一个抽象的产品类,包含一个纯虚函数 operation()。
  4. 'class Xiaomi : public Product':定义了一个具体的产品类 Xiaomi,继承自产品类 Product,并实现了 operation() 函数。
  5. 'class Huawei : public Product':定义了一个具体的产品类 Huawei,继承自产品类 Product,并实现了 operation() 函数。
  6. 'enum ProType{XIAOMI, HUAWEI};':定义了一个枚举类型 ProType,包含两个值 XIAOMI 和 HUAWEI。
  7. 'class Factory':定义了一个工厂类 Factory,包含一个 createProduct() 函数,根据传入的 ProType 类型参数创建相应的产品对象。
  8. 'Product *createProduct(ProType type)':工厂类 Factory 的成员函数,根据传入的 ProType 类型参数创建相应的产品对象,并返回产品对象的指针。 34-41. 'switch(type) ...':根据传入的 ProType 类型参数,判断应该创建哪个具体的产品对象,并返回该对象的指针。
  9. 'int main()':主函数入口。
  10. 'Factory fac;':创建一个工厂对象 fac。
  11. 'Product *pro = fac.createProduct(HUAWEI);':通过工厂对象 fac 创建一个产品对象 pro,通过传入 HUAWEI 作为参数,表示要创建一个 Huawei 产品对象。
  12. 'pro->operation();':调用产品对象 pro 的 operation() 函数,输出'opt huawei'。
  13. 'return 0;':程序正常结束。
C++ 工厂模式简单实现:创建 Xiaomi 和 Huawei 产品

原文地址: https://www.cveoy.top/t/topic/qx5P 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录