桥接模式(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;
}
相关推荐
island13141 天前
【C++框架#5】Elasticsearch 安装和使用
开发语言·c++·elasticsearch
岁忧1 天前
(LeetCode 每日一题) 3541. 找到频率最高的元音和辅音 (哈希表)
java·c++·算法·leetcode·go·散列表
小六子成长记1 天前
【C++】:list容器全面解析(超详细)
c++·windows·list
IT灰猫1 天前
C++轻量级配置管理器升级版
开发语言·c++·设计模式·配置管理·ini解析
大白同学4211 天前
【C++】C++11介绍(Ⅱ)
开发语言·c++
油炸自行车1 天前
【Qt】编写Qt自定义Ui控件步骤
开发语言·c++·qt·ui·自定义ui控件·qt4 自定义ui控件
呱呱巨基1 天前
C/C++ 内存管理
c++·笔记·学习
半桔1 天前
【网络编程】TCP 服务器并发编程:多进程、线程池与守护进程实践
linux·服务器·网络·c++·tcp/ip
橘子131 天前
C++实战:搜索引擎项目(二)
开发语言·c++·搜索引擎
应用市场1 天前
Qt C++ 图形绘制完全指南:从基础到进阶实战
开发语言·c++·qt