PIMPL 模式 以及Q_DECLARE_PUBLIC 与 Q_DECLARE_PRIVATE

PIMPL(Private Implementation)模式是一种设计模式,也被称为“编译期接口隔离”或“指针实现”模式。它的主要目的是将类的私有实现部分与公共接口部分分离,以减少编译依赖性、提高封装性和减少暴露的细节。在 C++ 中,PIMPL 模式通常通过将类的私有数据和实现放在一个单独的类中,然后在类的公共接口中使用指向该私有实现类的指针来实现。

在 Qt 中,Q_DECLARE_PRIVATE 和 Q_DECLARE_PUBLIC 是两个宏,用于实现 PIMPL 模式。Q_DECLARE_PRIVATE 用于在类中声明一个私有指针,指向私有实现类,而 Q_DECLARE_PUBLIC 用于在类中声明一个公共指针,用于访问公共接口。

下面是一个示例,演示如何使用 PIMPL 模式和 Q_DECLARE_PRIVATEQ_DECLARE_PUBLIC 宏:

// Widget.h

#include <QObject>

class WidgetPrivate; // 前向声明私有实现类

class Widget : public QObject
{
    Q_OBJECT
    Q_DECLARE_PRIVATE(Widget)

public:
    Widget(QObject *p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值