桥接模式(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;
}
相关推荐
玖剹2 分钟前
二叉树递归题目(一)
c语言·c++·算法·leetcode
mjhcsp7 分钟前
C++ 数组:基础与进阶全解析
开发语言·c++
量子炒饭大师8 分钟前
【一天一个计算机知识】—— 【编程百度】翻译环境与运行环境
c语言·汇编·c++·gitee·机器翻译
今晚打老虎35 分钟前
c++(斗罗大陆3)
开发语言·c++·斗罗大陆3
coderxiaohan1 小时前
List列表
c++
无双@2 小时前
高并发内存池9 —— Page Cache 回收
c++·线程·秋招·项目·高并发内存池·c++项目·内存池
卡提西亚2 小时前
C++笔记-26-类模板
c++·笔记
沐怡旸2 小时前
【穿越Effective C++】条款19:设计class犹如设计type——用户定义类型的艺术与科学
c++·面试
一个不知名程序员www2 小时前
算法学习入门---模拟(C++)
c++·算法
夜月yeyue2 小时前
嵌入式开发中的 Git CI/CD
c++·git·单片机·嵌入式硬件·ci/cd·硬件架构