设计模式学习(C++实现)6--桥接模式

来源:互联网 发布:淘宝订单号大小怎么看 编辑:程序博客网 时间:2024/06/05 18:16

  在设计类的时候,将抽象类与其实现解耦,使得类的不同成员和功能得以分别变化,以达到在使用类时,用户可以对其进行定制的目的,可以看作是一种变相的多态,与effective c++中提到的35条类似:
  

class drawApi {public:    virtual void draw()=0;};class drawRed :public drawApi{public:    void draw() {        cout << "I am red";    }};class drawBlue :public drawApi {public:    void draw() {        cout << "I am Blue";    }};class circle {public:    circle(int a,int b,drawApi* draww ):x(a),y(b),drawcircle(draww){}    void draw() {        cout << x << ' ' << y << ' ';        drawcircle->draw();    }private:    int x;    int y;    drawApi *drawcircle;};int main() {    circle a(3, 3, new drawBlue);    a.draw();    system("pause");}

输出:

3 3 I am Blue请按任意键继续. . .   
原创粉丝点击