c++ 抽象工厂模式伪代码
时间: 2023-12-16 16:28:07 浏览: 85
c++设计模式-抽象工厂方法
以下是C++抽象工厂模式的伪代码示例:
```cpp
// 抽象产品类
class AbstractProductA {
public:
virtual void operationA() = 0;
};
// 具体产品类A1
class ProductA1 : public AbstractProductA {
public:
void operationA() override {
// 具体操作
}
};
// 具体产品类A2
class ProductA2 : public AbstractProductA {
public:
void operationA() override {
// 具体操作
}
};
// 抽象产品类
class AbstractProductB {
public:
virtual void operationB() = 0;
};
// 具体产品类B1
class ProductB1 : public AbstractProductB {
public:
void operationB() override {
// 具体操作
}
};
// 具体产品类B2
class ProductB2 : public AbstractProductB {
public:
void operationB() override {
// 具体操作
}
};
// 抽象工厂类
class AbstractFactory {
public:
virtual AbstractProductA* createProductA() = 0;
virtual AbstractProductB* createProductB() = 0;
};
// 具体工厂类1
class ConcreteFactory1 : public AbstractFactory {
public:
AbstractProductA* createProductA() override {
return new ProductA1();
}
AbstractProductB* createProductB() override {
return new ProductB1();
}
};
// 具体工厂类2
class ConcreteFactory2 : public AbstractFactory {
public:
AbstractProductA* createProductA() override {
return new ProductA2();
}
AbstractProductB* createProductB() override {
return new ProductB2();
}
};
// 客户端代码
int main() {
AbstractFactory* factory = new ConcreteFactory1();
AbstractProductA* productA = factory->createProductA();
AbstractProductB* productB = factory->createProductB();
productA->operationA();
productB->operationB();
delete productA;
delete productB;
delete factory;
return 0;
}
```
阅读全文