桥接模式(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 小时前
从`std::mutex`到`std::lock_guard`与`std::unique_lock`的演进之路
开发语言·c++
卡提西亚3 小时前
C++笔记-10-循环语句
c++·笔记·算法
亮剑20183 小时前
第1节:C语言初体验——环境、结构与基本数据类型
c++
William_wL_4 小时前
【C++】类和对象(下)
c++
William_wL_4 小时前
【C++】内存管理
c++
星星火柴9365 小时前
笔记 | C++面向对象高级开发
开发语言·c++·笔记·学习
悲伤小伞5 小时前
Linux_Socket_UDP
linux·服务器·网络·c++·网络协议·udp
八个程序员6 小时前
自定义函数(C++)
开发语言·c++·算法
微露清风7 小时前
系统性学习C++-第十讲-stack 和 quene
java·c++·学习
报错小能手7 小时前
C++笔记(面向对象)静态联编和动态联编
开发语言·c++·算法