您的位置:首页 > 编程语言 > C语言/C++

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

2017-10-11 17:42 316 查看
  在设计类的时候,将抽象类与其实现解耦,使得类的不同成员和功能得以分别变化,以达到在使用类时,用户可以对其进行定制的目的,可以看作是一种变相的多态,与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请按任意键继续. . .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: