桥接模式(C++)

**定义:**桥接模式(Bridge Pattern)是一种结构型设计模式,它通过将抽象部分与它的实现部分分离,使它们都可以独立地变化。这种模式主要用于当系统的抽象部分和实现部分需要独立地进行扩展时,使得两者之间的耦合度降低。

代码:

cpp 复制代码
class Shape
{
public:
     virtual void drawShape() = 0;
};
class Rectangle : public Shape
{
public:
    virtual void drawShape() override
    {
        std::cout << " Rectangle  Draw" << std::endl;
    }
};
class Circle : public Shape
{
public:
    virtual void drawShape() override
    {
        std::cout << " Circle Draw" << std::endl;
    }
};
class Color
{
public:
     Color(Shape*pShape) : m_pShape(pShape){}
     virtual void drawColor() = 0;
protected:
     Shape *m_pShape = nullptr;
};
class Red : public Color
{
public:
    Red (Shape*pShape) : Color(pShape){}
    void drawColor()
    {
        m_pShape ->drawShape();
    }
};
class Blue : public Color
{
public:
    Blue (Shape*pShape) : Color(pShape){}
    void drawColor()
    {
        m_pShape ->drawShape();
    }
};
int main(int argc, char *argv[])
{
     Shape *pShapeObj = new Rectangle ();
     Color *pColorObj = new Red (pShapeObj);
     pColorObj ->drawColor();
     return 0;
}
相关推荐
dora1 小时前
逼格提起来,使用curl发送网络请求
android·c++
yy_xzz1 小时前
基于条码数据生成校验密码的C++实现方案
开发语言·c++
技术小白Byteman1 小时前
蓝桥刷题note13(排序)
开发语言·数据结构·c++·学习·算法·visualstudio
老歌老听老掉牙1 小时前
C++使用Qt Charts可视化大规模点集
c++·qt·信息可视化·点集
OneQ6662 小时前
C++自学笔记——动态创建对象
c++·笔记·算法
Dream it possible!2 小时前
LeetCode 热题 100_完全平方数(84_279_中等_C++)(动态规划(完全背包))
c++·leetcode·动态规划·完全背包
末央&3 小时前
【C++】vector的底层封装和实现
android·c++
Tadecanlan4 小时前
[C++面试] C++中各类括号的差异:[]、{}、<>、()
开发语言·c++·面试
_GR5 小时前
2023年蓝桥杯第十四届C&C++大学B组真题及代码
c语言·c++·蓝桥杯
努力努力再努力wz5 小时前
【c++深入系列】:类和对象详解(下)
java·运维·c语言·开发语言·c++