C++ 简单工厂模式代码
时间: 2024-04-17 10:20:11 浏览: 110
当谈到设计模式时,简单工厂模式是一常见且简单的创建型设计模式。它提供了一种创建对象的方式,而无需直接暴露对象的创建逻辑。下面是一个简单的C++简单工厂模式的示例代码:
```cpp
#include <iostream>
// 抽象产品类
class Product {
public:
virtual void use() = 0;
};
// 具体产品类A
class ConcreteProductA : public Product {
public:
void use() override {
std::cout << "Using ConcreteProductA" << std::endl;
}
};
// 具体产品类B
class ConcreteProductB : public Product {
public:
void use() override {
std::cout << "Using ConcreteProductB" << std::endl;
}
};
// 简单工厂类
class SimpleFactory {
public:
// 根据传入的参数创建对应的产品对象
static Product* createProduct(char productType) {
switch (productType) {
case 'A':
return new ConcreteProductA();
case 'B':
return new ConcreteProductB();
default:
return nullptr;
}
}
};
int main() {
// 使用简单工厂创建产品对象
Product* productA = SimpleFactory::createProduct('A');
productA->use();
Product* productB = SimpleFactory::createProduct('B');
productB->use();
delete productA;
delete productB;
return 0;
}
```
在上面的示例代码中,我们首先定义了一个抽象产品类`Product`,并派生出两个具体产品类`ConcreteProductA`和`ConcreteProductB`。然后,我们创建了一个简单工厂类`SimpleFactory`,其中的静态方法`createProduct`根据传入的参数来创建对应的产品对象。
在`main`函数中,我们使用简单工厂类来创建产品对象,并调用其`use`方法来使用产品。
阅读全文