桥接模式(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;
}
相关推荐
程序猿阿伟9 分钟前
《C++中的魔法:实现类似 Python 的装饰器模式》
java·c++·装饰器模式
Ethan Wilson17 分钟前
C++/QT可用的websocket库
开发语言·c++·websocket
ergevv1 小时前
类的变量的初始化:成员初始化列表、就地初始化
c++·初始化·
极客代码2 小时前
C/C++ 随机数生成方法
c语言·开发语言·c++·算法
梦起丶2 小时前
CMake 生成器表达式---条件表达式和逻辑运算符
c++·cmake
bin91532 小时前
【热门主题】000013 C++游戏开发全攻略
c++·c
这题怎么做?!?3 小时前
模板方法模式
开发语言·c++·算法
程序员yt3 小时前
2025秋招八股文--服务器篇
linux·运维·服务器·c++·后端·面试
Chris-zz3 小时前
Linux:磁盘深潜:探索文件系统、连接之道与库的奥秘
linux·网络·c++·1024程序员节
LaoZhangGong1234 小时前
使用常数指针作为函数参数
c++·经验分享