在查看Qt代码时,我对pimpl实现有一个基本的问题。以QWidget实现为例。
QWidget ---inherits---> QObject
| |
contains contains
| |
\ / \ /
QWidgetPrivate ---inherits---> QObjectPrivate
现在QWidget有两个QObjectPrivate的实例(通过继承和包含)。 为什么要以这种方式实现?拥有同一对象的两个实例不是一种负担吗?