当前位置: 首页 > news >正文

丢了么网站九江 网站建设

丢了么网站,九江 网站建设,上海城乡建设网站证件查询,wordpress ajax登陆简介 学以致用#xff0c;使用抽象工厂及单例模式创建不同轿车及轿车装饰品。 代码 定义一个抽象工厂类来创建不同类型的轿车和轿车装饰品。抽象工厂类中具有创建不同类型轿车和轿车装饰品的纯虚方法。 abstractFactory.h #pragma once#include Car.h #inclu…简介 学以致用使用抽象工厂及单例模式创建不同轿车及轿车装饰品。 代码 定义一个抽象工厂类来创建不同类型的轿车和轿车装饰品。抽象工厂类中具有创建不同类型轿车和轿车装饰品的纯虚方法。 abstractFactory.h #pragma once#include Car.h #include CarDecorate.hclass AbstractFactory { public:virtual Car* createCar() 0;virtual CarDecorate* createDecorate() 0; };2.定义不同类型的轿车如 SUV 和跑车。 car.h #pragma once#include stringclass Car { public:Car(std::string name) : m_name(name) {}virtual ~Car() {}std::string getName() const { return m_name; }private:std::string m_name; };class SUV : public Car { public:SUV() : Car(SUV) {} };class SportsCar : public Car { public:SportsCar() : Car(SportsCar) {} };3.定义不同类型的轿车装饰品比如车载音响和真皮座椅。 carDecorate.h #pragma once#include stringclass CarDecorate { public:CarDecorate(std::string name) : m_name(name) {}virtual ~CarDecorate() {}std::string getName() const { return m_name; }private:std::string m_name; };class CarAudio : public CarDecorate { public:CarAudio() : CarDecorate(CarAudio) {} };class LeatherSeat : public CarDecorate { public:LeatherSeat() : CarDecorate(LeatherSeat) {} };4.创建具体的工厂类用于创建不同类型轿车及轿车装饰品。使用单例模式来确保每个工厂类只有一个实例。 suvFactory .h #pragma once#include AbstractFactory.hclass SUVFactory : public AbstractFactory { public:static SUVFactory* getInstance();virtual Car* createCar() override;virtual CarDecorate* createDecorate() override;private:SUVFactory() {}static SUVFactory* m_instance; };class SportsCarFactory : public AbstractFactory { public:static SportsCarFactory* getInstance();virtual Car* createCar() override;virtual CarDecorate* createDecorate() override;private:SportsCarFactory() {}static SportsCarFactory* m_instance; };在实现工厂类时使用单例模式创建工厂类的实例确保每个工厂只有一个实例。实现工厂类的 createCar() 和 createDecorate() 方法用于创建不同类型的轿车及轿车装饰品。 suvFactory.cpp #include SUVFactory.h #include SportsCarFactory.hSUVFactory* SUVFactory::m_instance nullptr; SportsCarFactory* SportsCarFactory::m_instance nullptr;SUVFactory* SUVFactory::getInstance() {if (m_instance nullptr){m_instance new SUVFactory();}return m_instance; }Car* SUVFactory::createCar() {return new SUV(); }CarDecorate* SUVFactory::createDecorate() {return new LeatherSeat(); }SportsCarFactory* SportsCarFactory::getInstance() {if (m_instance nullptr){m_instance new SportsCarFactory();}return m_instance; }Car* SportsCarFactory::createCar() {return new SportsCar(); }CarDecorate* SportsCarFactory::createDecorate() {return new CarAudio(); }5.可以使用工厂类来创建不同类型的轿车及轿车装饰品。 main.cpp #include iostream #include SUVFactory.h #include SportsCarFactory.hint main() {AbstractFactory* suvFactory SUVFactory::getInstance();Car* suv suvFactory-createCar();CarDecorate* suvDecorate suvFactory-createDecorate();std::cout suv-getName() with suvDecorate-getName() std::endl;AbstractFactory* sportsCarFactory SportsCarFactory::getInstance();Car* sportsCar sportsCarFactory-createCar();CarDecorate* sportsCarDecorate sportsCarFactory-createDecorate();std::cout sportsCar-getName() with sportsCarDecorate-getName() std::endl;return 0; }结论 以上就是使用抽象工厂及单例模式结合创建不同轿车及轿车装饰品示例。记录。
http://www.hkea.cn/news/14468065/

相关文章:

  • php学校网站建设php怎么做网站教程
  • 手机网站大全免费网站修改文案
  • asp.net 网站开发项目给浏览器加速的加速器
  • 做网站有限公司软件交易网
  • 现在做网站用什么工具微网站建设及微信推广方案ppt模板
  • 中山网站建设托管温州企业网站建设公司
  • 免费网站平台手机上怎么做自己卖菜的网站
  • 高档网站模板网站建设服务收费标准
  • 做电商网站要备案吗wordpress360cdn
  • 搭建平台网站有什么用服务好的建筑企业查询
  • 自己做网站如何赚钱网站什么时候做SEO优化最合适
  • 淘客导航网站开发网站备案年审
  • 重庆慕尚网站建设网站建设准备
  • 工作总结个人总结杭州网站seo优化
  • 河南网站推广优化淘宝客网站怎么建设
  • 威海网站优化上海广告公司
  • 番禺网站建设wwiw哪家做企业网站
  • 做新网站 备案证明交接域名解析工具
  • 自建站推广方式重庆网站建设aiyom
  • 自助 建网站制作公司网站的费用
  • 深圳做英文网站的公司在线制作动画网站
  • asp 个人网站开发网站有什么用
  • dede网站版权信息修改互联网行业有哪些
  • 做渠道该从哪些网站入手重庆seo论坛
  • 郑州网站推广¥做下拉去118cr一个app软件
  • 石家庄公司网站如何制作利用大平台做网站
  • 企业建站划算吗如何用微信支付购物网站
  • 连云港做网站的公司网站底部图片代码
  • 制作网站的最新软件室内装修设计用什么软件制图
  • 山西免费网站建设深圳松岗 网站建设