中山网站建设文化流程网站登录人太多进不去怎么办
news/
2025/10/7 14:49:46/
文章来源:
中山网站建设文化流程,网站登录人太多进不去怎么办,wordpress提示php版本低,网站开发项目的部署目录
C设计模式-抽象工厂#xff08;Abstract Factory#xff09;
一、意图
二、适用性
三、结构
四、参与者
五、代码 C设计模式-抽象工厂#xff08;Abstract Factory#xff09;
一、意图
提供一个创建一系列相关或相互依赖对象的接口#xff0c;而无需指定它们…目录
C设计模式-抽象工厂Abstract Factory
一、意图
二、适用性
三、结构
四、参与者
五、代码 C设计模式-抽象工厂Abstract Factory
一、意图
提供一个创建一系列相关或相互依赖对象的接口而无需指定它们具体的类。 二、适用性
一个系统要独立于它的产品的创建、组合和表示时。一个系统要由多个产品系列中的一个来配置时。当你要强调一系列相关的产品对象的设计以便进行联合使用时。当你提供一个产品类库而只想显示它们的接口而不是实现时。 三、结构 四、参与者
AbstractFactory 声明一个创建抽象产品对象的操作接口。
ConcreteFactory 实现创建具体产品对象的操作。
AbstractProduct 为一类产品对象声明一个接口。
ConcreteProduct 定义一个将被相应的具体工厂创建的产品对象。 实现AbstractProduct接口。
Client 仅使用由AbstractFactory和AbstractProduct类声明的接口。 五、代码
#includeiostream
using namespace std;class AbstractProduct {
public:virtual void ShowInformation() 0;
};class AbstractProductA : public AbstractProduct {};class ProductA1 : public AbstractProductA {
public:void ShowInformation() {cout ProductA1 Information endl;}
};class ProductA2 : public AbstractProductA {
public:void ShowInformation() {cout ProductA2 Information endl;}
};class AbstractProductB : public AbstractProduct {};class ProductB1 : public AbstractProductB {
public:void ShowInformation() {cout ProductB1 Information endl;}
};class ProductB2 : public AbstractProductB {
public:void ShowInformation() {cout ProductB2 Information endl;}
};class AbstractFactory {
public:virtual AbstractProductA* CreateProductA() 0;virtual AbstractProductB* CreateProductB() 0;
};class FactoryOne : public AbstractFactory {
public:AbstractProductA* CreateProductA() {return new ProductA1;}AbstractProductB* CreateProductB() {return new ProductB1;}
};class FactoryTwo : public AbstractFactory {
public:AbstractProductA* CreateProductA() {return new ProductA2;}AbstractProductB* CreateProductB() {return new ProductB2;}
};int main() {AbstractFactory* factoryOne new FactoryOne;AbstractProduct* productA1 factoryOne-CreateProductA();AbstractProduct* productB1 factoryOne-CreateProductB();productA1-ShowInformation();productB1-ShowInformation();AbstractFactory* factoryTwo new FactoryTwo;AbstractProduct* productA2 factoryTwo-CreateProductA();AbstractProduct* productB2 factoryTwo-CreateProductB();productA2-ShowInformation();productB2-ShowInformation();return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930524.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!