桥接模式

xiaoxiao2021-02-28  22

//桥接模式,将抽象与实现分离,使之独立 #include <iostream> using namespace std; class Fruit { public: virtual void make_product() = 0; }; class AbstractFactory { public: AbstractFactory(Fruit* ptr) { ptrFruit = ptr; }; virtual void make_product() = 0; public: Fruit* ptrFruit; }; class Banana : public Fruit { public: virtual void make_product() { cout << "我是香蕉原料" << endl; } }; class Apple : public Fruit { public: virtual void make_product() { cout << "我是苹果原料" << endl; } }; class NorthFacorty : public AbstractFactory { public: NorthFacorty(Fruit* ptr) :AbstractFactory(ptr) { ; } virtual void make_product() { cout << "北方工厂,加工原料为:"; ptrFruit->make_product(); } }; class SouthFacorty : public AbstractFactory { public: SouthFacorty(Fruit* ptr) :AbstractFactory(ptr) { ; } virtual void make_product() { cout << "南方工厂,加工原料为:"; ptrFruit->make_product(); } }; void main() { Fruit* fruit = new Banana; AbstractFactory* af = new NorthFacorty(fruit); af->make_product(); delete af; af = new SouthFacorty(fruit); af->make_product(); delete fruit; delete af; system("pause"); return; }
转载请注明原文地址: https://www.6miu.com/read-2631438.html

最新回复(0)